From: <ar...@fr...> - 2004-08-27 14:10:26
|
CVS Root: /cvs/gstreamer Module: gst-plugins Changes by: arwed Date: Fri Aug 27 2004 07:10:22 PDT Log message: Handle EOS correctly. Modified files: . : ChangeLog gst/matroska : ebml-read.c Links: http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins/ChangeLog.diff?r1=1.1027&r2=1.1028 http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins/gst/matroska/ebml-read.c.diff?r1=1.9&r2=1.10 ====Begin Diffs==== Index: ChangeLog =================================================================== RCS file: /cvs/gstreamer/gst-plugins/ChangeLog,v retrieving revision 1.1027 retrieving revision 1.1028 diff -u -d -r1.1027 -r1.1028 --- ChangeLog 27 Aug 2004 12:18:14 -0000 1.1027 +++ ChangeLog 27 Aug 2004 14:10:08 -0000 1.1028 @@ -1,3 +1,8 @@ +2004-08-27 Arwed v. Merkatz <v.m...@gm...> + + * gst/matroska/ebml-read.c: (gst_ebml_peed_id), (gst_ebml_read_element_id), + handle EOS correctly 2004-08-27 Thomas Vander Stichele <thomas at apestaart dot org> patch by: Zaheer Abbas Merali Index: ebml-read.c RCS file: /cvs/gstreamer/gst-plugins/gst/matroska/ebml-read.c,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- ebml-read.c 15 Mar 2004 19:32:06 -0000 1.9 +++ ebml-read.c 27 Aug 2004 14:10:09 -0000 1.10 @@ -160,8 +160,12 @@ /* Here, we might encounter EOS */ gst_bytestream_get_status (ebml->bs, &remaining, &event); - if (event) { + if (event && GST_IS_EVENT (event)) { + gboolean eos = (GST_EVENT_TYPE (event) == GST_EVENT_EOS); gst_pad_event_default (ebml->sinkpad, event); + if (eos) + return FALSE; } else { guint64 pos = gst_bytestream_tell (ebml->bs); @@ -299,7 +303,7 @@ g_assert (level_up); - if (gst_ebml_read_element_id (ebml, &id, level_up) < 0) + if (gst_ebml_read_element_id (ebml, &id, level_up) <= 0) return 0; return id; |