From: <rb...@fr...> - 2005-03-10 15:36:55
|
CVS Root: /cvs/gstreamer Module: gst-plugins Changes by: rbultje Date: Thu Mar 10 2005 07:36:52 PST Branch: BRANCH-GSTREAMER-0_8 Log message: * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_handle_data), (gst_asf_demux_process_chunk): Read streams (with num-packets=0), too. Modified files: . : ChangeLog gst/asfdemux : gstasfdemux.c Links: http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins/ChangeLog.diff?r1=1.1641.2.28&r2=1.1641.2.29 http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins/gst/asfdemux/gstasfdemux.c.diff?r1=1.86&r2=1.86.2.1 ====Begin Diffs==== Index: ChangeLog =================================================================== RCS file: /cvs/gstreamer/gst-plugins/ChangeLog,v retrieving revision 1.1641.2.28 retrieving revision 1.1641.2.29 diff -u -d -r1.1641.2.28 -r1.1641.2.29 --- ChangeLog 10 Mar 2005 15:30:03 -0000 1.1641.2.28 +++ ChangeLog 10 Mar 2005 15:36:40 -0000 1.1641.2.29 @@ -1,5 +1,11 @@ 2005-03-10 Ronald S. Bultje <rb...@ro...> + * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_handle_data), + (gst_asf_demux_process_chunk): + Read streams (with num-packets=0), too. + +2005-03-10 Ronald S. Bultje <rb...@ro...> * gst/playback/gstplaybin.c: (gen_video_element), (gen_audio_element): Use auto* elements as defaults. Fixed #169289. Index: gstasfdemux.c RCS file: /cvs/gstreamer/gst-plugins/gst/asfdemux/gstasfdemux.c,v retrieving revision 1.86 retrieving revision 1.86.2.1 diff -u -d -r1.86 -r1.86.2.1 --- gstasfdemux.c 8 Feb 2005 13:38:11 -0000 1.86 +++ gstasfdemux.c 10 Mar 2005 15:36:40 -0000 1.86.2.1 @@ -1009,10 +1009,14 @@ GST_INFO ("Process packet"); - if (asf_demux->packet++ >= asf_demux->num_packets) { + if (asf_demux->num_packets > 0 && + asf_demux->packet++ >= asf_demux->num_packets) { GstEvent *event; guint32 remaining; + GST_LOG ("Number of packets (%d > %d) reached, EOS", + asf_demux->packet - 1, asf_demux->num_packets); gst_bytestream_flush (asf_demux->bs, 0xFFFFFF); gst_bytestream_get_status (asf_demux->bs, &remaining, &event); if (!event || GST_EVENT_TYPE (event) != GST_EVENT_EOS) @@ -1359,10 +1363,13 @@ GstBuffer *buffer; if (!(stream = - gst_asf_demux_get_stream (asf_demux, segment_info->stream_number))) + gst_asf_demux_get_stream (asf_demux, segment_info->stream_number))) { + GST_DEBUG ("Invalid stream number %d", segment_info->stream_number); goto done; + } - GST_DEBUG ("Processing chunk of size %u (fo = %d)", segment_info->chunk_size, + GST_DEBUG ("Processing %s chunk of size %u (fo = %d)", + gst_pad_get_name (stream->pad), segment_info->chunk_size, stream->frag_offset); if (segment_info->frag_offset == 0) { @@ -1465,7 +1472,6 @@ asf_demux->seek_discont = FALSE; } - gst_pad_push (stream->pad, GST_DATA (stream->payload)); } else { gst_buffer_unref (stream->payload); |