head 1.2; access; symbols pkgsrc-2013Q2:1.2.0.20 pkgsrc-2013Q2-base:1.2 pkgsrc-2012Q4:1.2.0.18 pkgsrc-2012Q4-base:1.2 pkgsrc-2011Q4:1.2.0.16 pkgsrc-2011Q4-base:1.2 pkgsrc-2011Q2:1.2.0.14 pkgsrc-2011Q2-base:1.2 pkgsrc-2009Q4:1.2.0.12 pkgsrc-2009Q4-base:1.2 pkgsrc-2008Q4:1.2.0.10 pkgsrc-2008Q4-base:1.2 pkgsrc-2008Q3:1.2.0.8 pkgsrc-2008Q3-base:1.2 cube-native-xorg:1.2.0.6 cube-native-xorg-base:1.2 pkgsrc-2008Q2:1.2.0.4 pkgsrc-2008Q2-base:1.2 pkgsrc-2008Q1:1.2.0.2 pkgsrc-2008Q1-base:1.2 pkgsrc-2007Q4:1.1.0.2 pkgsrc-2007Q4-base:1.1; locks; strict; comment @# @; 1.2 date 2008.02.28.19.40.22; author drochner; state dead; branches; next 1.1; 1.1 date 2007.12.09.11.03.51; author drochner; state Exp; branches; next ; desc @@ 1.2 log @update to 0.10.7 changes: -many fixes and improvements -Accurate seeking support in mp3 -RealMedia and WMS RTSP support -New element: dvdsubdec @ text @$NetBSD: patch-ac,v 1.1 2007/12/09 11:03:51 drochner Exp $ --- gst/mpegaudioparse/gstmpegaudioparse.c.orig 2007-06-13 11:21:26.000000000 +0200 +++ gst/mpegaudioparse/gstmpegaudioparse.c @@@@ -218,7 +218,8 @@@@ mp3_caps_create (guint layer, guint chan new = gst_caps_new_simple ("audio/mpeg", "mpegversion", G_TYPE_INT, 1, "layer", G_TYPE_INT, layer, - "rate", G_TYPE_INT, samplerate, "channels", G_TYPE_INT, channels, NULL); + "rate", G_TYPE_INT, samplerate, + "channels", G_TYPE_INT, channels, "parsed", G_TYPE_BOOLEAN, TRUE, NULL); return new; } @@@@ -329,6 +330,7 @@@@ gst_mp3parse_sink_event (GstPad * pad, G { gboolean res; GstMPEGAudioParse *mp3parse; + GstEvent **eventp; mp3parse = GST_MP3PARSE (gst_pad_get_parent (pad)); @@@@ -379,12 +381,18 @@@@ gst_mp3parse_sink_event (GstPad * pad, G GST_DEBUG_OBJECT (mp3parse, "Pushing newseg rate %g, applied rate %g, " "format %d, start %lld, stop %lld, pos %lld\n", rate, applied_rate, format, start, stop, pos); - res = gst_pad_push_event (mp3parse->srcpad, event); + /* save the segment for later, right before we push a new buffer so that + * the caps are fixed and the next linked element can receive the segment. */ + eventp = &mp3parse->pending_segment; + gst_event_replace (eventp, event); + res = TRUE; break; } case GST_EVENT_FLUSH_STOP: /* Clear our adapter and set up for a new position */ gst_adapter_clear (mp3parse->adapter); + eventp = &mp3parse->pending_segment; + gst_event_replace (eventp, NULL); res = gst_pad_push_event (mp3parse->srcpad, event); break; default: @@@@ -483,6 +491,12 @@@@ gst_mp3parse_emit_frame (GstMPEGAudioPar mp3parse->srcpad, taglist); } + /* push any pending segment now */ + if (mp3parse->pending_segment) { + gst_pad_push_event (mp3parse->srcpad, mp3parse->pending_segment); + mp3parse->pending_segment = NULL; + } + return gst_pad_push (mp3parse->srcpad, outbuf); } @ 1.1 log @pull in some patches from upstream CVS: gstmpegaudioparse.c rev. 1.63 and 1.70 gstmpegaudioparse.h rev. 1.20 This fixes failures playing mp3 files if the mpegaudioparse plugin (which is not really needed) is installed, due to some interaction with changes in gstreamer-base. See gnome bugzilla #471370 for details. bump PKGREVISION @ text @d1 1 a1 1 $NetBSD$ @