From 10ae339e778a4d5b69ce2ea9b7510bbffc680d32 Mon Sep 17 00:00:00 2001 From: Thibaut Mattern Date: Wed, 19 Jun 2002 23:42:50 +0000 Subject: Handle the new flag BUF_FLAG_SEEK. CVS patchset: 2099 CVS date: 2002/06/19 23:42:50 --- src/xine-engine/audio_decoder.c | 8 ++++++-- src/xine-engine/video_decoder.c | 12 ++++++++---- 2 files changed, 14 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/xine-engine/audio_decoder.c b/src/xine-engine/audio_decoder.c index 019b3f786..f52adc86d 100644 --- a/src/xine-engine/audio_decoder.c +++ b/src/xine-engine/audio_decoder.c @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * - * $Id: audio_decoder.c,v 1.77 2002/06/10 13:41:55 miguelfreitas Exp $ + * $Id: audio_decoder.c,v 1.78 2002/06/19 23:43:43 tmattern Exp $ * * * functions that implement audio decoding @@ -144,7 +144,11 @@ void *audio_decoder_loop (void *this_gen) { break; case BUF_CONTROL_NEWPTS: - this->metronom->handle_audio_discontinuity (this->metronom, DISC_ABSOLUTE, buf->disc_off); + if (buf->decoder_flags && BUF_FLAG_SEEK) { + this->metronom->handle_audio_discontinuity (this->metronom, DISC_STREAMSEEK, buf->disc_off); + } else { + this->metronom->handle_audio_discontinuity (this->metronom, DISC_ABSOLUTE, buf->disc_off); + } break; case BUF_CONTROL_AUDIO_CHANNEL: diff --git a/src/xine-engine/video_decoder.c b/src/xine-engine/video_decoder.c index 54d1cf75a..f516ec02e 100644 --- a/src/xine-engine/video_decoder.c +++ b/src/xine-engine/video_decoder.c @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * - * $Id: video_decoder.c,v 1.89 2002/06/10 13:41:55 miguelfreitas Exp $ + * $Id: video_decoder.c,v 1.90 2002/06/19 23:42:50 tmattern Exp $ * */ @@ -212,11 +212,15 @@ void *video_decoder_loop (void *this_gen) { this->video_in_discontinuity = 1; - this->metronom->handle_video_discontinuity (this->metronom, DISC_ABSOLUTE, buf->disc_off); - + if (buf->decoder_flags && BUF_FLAG_SEEK) { + this->metronom->handle_video_discontinuity (this->metronom, DISC_STREAMSEEK, buf->disc_off); + } else { + this->metronom->handle_video_discontinuity (this->metronom, DISC_ABSOLUTE, buf->disc_off); + } + this->video_in_discontinuity = 0; break; - + case BUF_CONTROL_AUDIO_CHANNEL: { xine_ui_event_t ui_event; -- cgit v1.2.3