summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/input/input_v4l.c15
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);
}