diff options
Diffstat (limited to 'libmpdemux')
-rw-r--r-- | libmpdemux/tvi_v4l.c | 5 | ||||
-rw-r--r-- | libmpdemux/tvi_v4l2.c | 5 |
2 files changed, 10 insertions, 0 deletions
diff --git a/libmpdemux/tvi_v4l.c b/libmpdemux/tvi_v4l.c index 236db4684e..864a9b55af 100644 --- a/libmpdemux/tvi_v4l.c +++ b/libmpdemux/tvi_v4l.c @@ -1728,6 +1728,11 @@ static double grab_audio_frame(priv_t *priv, char *buffer, int len) mp_dbg(MSGT_TV, MSGL_DBG2, "grab_audio_frame(priv=%p, buffer=%p, len=%d)\n", priv, buffer, len); + if (priv->first) { + pthread_create(&priv->video_grabber_thread, NULL, video_grabber, priv); + priv->first = 0; + } + // compensate for dropped audio frames if (priv->audio_drop && (priv->audio_head == priv->audio_tail)) { priv->audio_drop--; diff --git a/libmpdemux/tvi_v4l2.c b/libmpdemux/tvi_v4l2.c index 2b7f83fe57..dcb6750b8f 100644 --- a/libmpdemux/tvi_v4l2.c +++ b/libmpdemux/tvi_v4l2.c @@ -1627,6 +1627,11 @@ static double grab_audio_frame(priv_t *priv, char *buffer, int len) mp_dbg(MSGT_TV, MSGL_DBG2, "grab_audio_frame(priv=%p, buffer=%p, len=%d)\n", priv, buffer, len); + if (priv->first) { + pthread_create(&priv->video_grabber_thread, NULL, video_grabber, priv); + priv->first = 0; + } + // compensate for dropped audio frames if (priv->audio_drop && (priv->audio_head == priv->audio_tail)) { priv->audio_drop--; |