Commit 4e23aef9 authored by Antoine Cellerier's avatar Antoine Cellerier

v4l doesn't like polling. Revert part of db820529.

parent 81679329
...@@ -44,8 +44,6 @@ ...@@ -44,8 +44,6 @@
#include <fcntl.h> #include <fcntl.h>
#include <arpa/inet.h> #include <arpa/inet.h>
#include <poll.h>
/* From GStreamer's v4l plugin: /* From GStreamer's v4l plugin:
* Because of some really cool feature in video4linux1, also known as * Because of some really cool feature in video4linux1, also known as
* 'not including sys/types.h and sys/time.h', we had to include it * 'not including sys/types.h and sys/time.h', we had to include it
...@@ -457,25 +455,17 @@ static int Demux( demux_t *p_demux ) ...@@ -457,25 +455,17 @@ static int Demux( demux_t *p_demux )
{ {
demux_sys_t *p_sys = p_demux->p_sys; demux_sys_t *p_sys = p_demux->p_sys;
struct pollfd fd; block_t *p_block = GrabVideo( p_demux );
fd.fd = p_sys->i_fd;
fd.events = POLLIN|POLLPRI;
fd.revents = 0;
/* Wait for data */ if( !p_block )
if( poll( &fd, 1, 500 ) )
{ {
if( fd.revents & (POLLIN|POLLPRI) ) msleep( 10000 ); /* Unfortunately v4l doesn't allow polling */
{ return 1;
block_t *p_block = GrabVideo( p_demux );
if( p_block )
{
es_out_Control( p_demux->out, ES_OUT_SET_PCR, p_block->i_pts );
es_out_Send( p_demux->out, p_sys->p_es, p_block );
}
}
} }
es_out_Control( p_demux->out, ES_OUT_SET_PCR, p_block->i_pts );
es_out_Send( p_demux->out, p_sys->p_es, p_block );
return 1; return 1;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment