Open Sound System
|Do you have problems with sound/audio application development? Don't panic! Click here for help!|
ioctl(fd, SNDCTL_GETLABEL, lbl);
The above code fragment lacks all error checks for clarity. Real world applications must always check for the errors and handle them as described below. Also most OSS ioctl calls will return information in the argument variable and it's usually necessary to check it too.
This ioctl call returns a label string (up to 15 characters). The label is a mnemonic identifier that summarizes the audio or MIDI stream. The label can be for example a tape reel name/number or channel name to be displayed on a mixing console.
This ioctl returns the string assigned by the remote end of the audio/MIDI link. The call is valid both for input and output streams. The application can also set the label using SNDCTL_SETLABEL. However this label will be seen only by the remote end if it calls SNDCTL_GETLABEL.
An empty string means that the device supports this feature but there is currently no label assigned. Note that the label may change at any moment so the application using this feature should check for a new label periodically (for example every 10 seconds). If this call returns an error then there is no point in polling the label.
This ioctl call is new in OSS 4.0 and not supported by the freeware implementations based on older OSS versions. If this call returns any error then no label information is available. The application should not show an error message if this happens.
The return value from the OSS ioctl calls will be -1 if a fatal error occurred. Other values mean that the ioctl call was more or less successful. However in most cases the application must check the value returned in the argument to see what was the accepted value.
Please see the Possible error codes (errno) returned by OSS calls section for more info about the error codes returned by OSS.