#include <vlc_demux.h>
#include <vlc_fs.h>
+#include <errno.h>
#include <fcntl.h>
#include <unistd.h>
#include <sys/ioctl.h>
set_capability( "access_demux", 10 )
set_callbacks( DemuxOpen, DemuxClose )
- add_bool( CFG_PREFIX "stereo", true, NULL, STEREO_TEXT, STEREO_LONGTEXT,
+ add_bool( CFG_PREFIX "stereo", true, STEREO_TEXT, STEREO_LONGTEXT,
true )
- add_integer( CFG_PREFIX "samplerate", 48000, NULL, SAMPLERATE_TEXT,
+ add_integer( CFG_PREFIX "samplerate", 48000, SAMPLERATE_TEXT,
SAMPLERATE_LONGTEXT, true )
- add_integer( CFG_PREFIX "caching", DEFAULT_PTS_DELAY / 1000, NULL,
+ add_integer( CFG_PREFIX "caching", DEFAULT_PTS_DELAY / 1000,
CACHING_TEXT, CACHING_LONGTEXT, true )
vlc_module_end ()
/* Wait for data */
if( poll( &fd, 1, 10 ) ) /* Timeout after 0.01 seconds. Bigger delays are an issue when used with/as an input-slave since all the inputs run in the same thread. */
{
+ if( errno == EINTR )
+ continue;
if( fd.revents & (POLLIN|POLLPRI) )
{
p_block = GrabAudio( p_demux );
if( !p_block )
{
msg_Warn( p_demux, "cannot get block" );
- return 0;
+ return NULL;
}
p_sys->p_block = p_block;
i_read = read( p_sys->i_fd, p_block->p_buffer,
p_sys->i_max_frame_size );
- if( i_read <= 0 ) return 0;
+ if( i_read <= 0 ) return NULL;
p_block->i_buffer = i_read;
- p_sys->p_block = 0;
+ p_sys->p_block = NULL;
/* Correct the date because of kernel buffering */
i_correct = i_read;