diff options
author | Miguel Freitas <miguelfreitas@users.sourceforge.net> | 2003-11-05 20:41:29 +0000 |
---|---|---|
committer | Miguel Freitas <miguelfreitas@users.sourceforge.net> | 2003-11-05 20:41:29 +0000 |
commit | 6fd3da702d0e433cd909a58010d90d2670ceb567 (patch) | |
tree | c67f0777bad664f49832b8ac9742302ed35dce57 | |
parent | 47088d0aa609cfc08eb98ea13e0430f42d59b506 (diff) | |
download | xine-lib-6fd3da702d0e433cd909a58010d90d2670ceb567.tar.gz xine-lib-6fd3da702d0e433cd909a58010d90d2670ceb567.tar.bz2 |
Jeroen's patch: avoid pausing the scr provider directly (doing so may freeze
xine in stop)
CVS patchset: 5694
CVS date: 2003/11/05 20:41:29
-rw-r--r-- | src/input/input_v4l.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/src/input/input_v4l.c b/src/input/input_v4l.c index 663543cf4..141277362 100644 --- a/src/input/input_v4l.c +++ b/src/input/input_v4l.c @@ -1179,10 +1179,14 @@ static int v4l_adjust_realtime_speed(v4l_input_plugin_t *this, fifo_buffer_t *fi PRINT("Buffer is empty, pausing playback (used: %d, num_free: %d)\r\n", num_used, num_free); - this->scr_tunning = SCR_PAUSED; - pvrscr_speed_tunning(this->scr, 0.0); + this->stream->xine->clock->set_speed (this->stream->xine->clock, XINE_SPEED_PAUSE); + this->stream->xine->clock->set_option (this->stream->xine->clock, CLOCK_SCR_ADJUSTABLE, 0); if (this->stream->audio_out != NULL) - this->stream->audio_out->set_property(this->stream->audio_out, AO_PROP_PAUSED, 2); + this->stream->audio_out->set_property(this->stream->audio_out, AO_PROP_PAUSED, 2); + + this->scr_tunning = SCR_PAUSED; +/* pvrscr_speed_tunning(this->scr, 0.0); */ + } else if (num_free <= 1 && scr_tunning != SCR_SKIP) { this->scr_tunning = SCR_SKIP; @@ -1199,7 +1203,10 @@ static int v4l_adjust_realtime_speed(v4l_input_plugin_t *this, fifo_buffer_t *fi this->scr_tunning = 0; - pvrscr_speed_tunning(this->scr, 1.0); + pvrscr_speed_tunning(this->scr, 1.0); + + this->stream->xine->clock->set_speed (this->stream->xine->clock, XINE_SPEED_NORMAL); + this->stream->xine->clock->set_option (this->stream->xine->clock, CLOCK_SCR_ADJUSTABLE, 1); if (this->stream->audio_out != NULL) this->stream->audio_out->set_property(this->stream->audio_out, AO_PROP_PAUSED, 0); } |