Google
 

Open Sound System
OSS 4.x Programmer's Guide

Do you have problems with sound/audio application development? Don't panic! Click here for help!

SNDCTL_DSP_SILENCE

Clears the playback buffer with silence

Usage

ioctl(fd, SNDCTL_DSP_SILENCE, NULL);

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.

Description

This ioctl call fills the kernel level playback buffer with silent samples discarding it's current content. An application can use this feature to implement playback pause. After calling SNDCTL_DSP_SILENCE the application can simply stop writing new data to the device until the pause ends. To continue playback the application needs to call SNDCTL_DSP_SKIP and then start writing new data.

This call doesn't stop the device. It just fills the buffer with silence. The device will continue playing and the playback pointer will keep running. If the application requires precise playback pointer information then it should stop the device in the hard way (by using SNDCTL_DSP_HALT).

Compatibility issues

This call is supported only by OSS 4.0 compatible drivers.

Please look at the When OSS audio ioctl calls can be made section for information about DSP ioctl call ordering.

OSS ioctl return values

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.

Sample programs

No sample programs available

Copyright (C) 4Front Technologies, 2007. All rights reserved.
Back to index OSS web site