ext/dvdread/dvdreadsrc.c: Fix. Don't do one big huge loop around the whole DVD, that...
authorRonald S. Bultje <rbultje@ronald.bitfreak.net>
Fri, 1 Oct 2004 08:42:56 +0000 (08:42 +0000)
committerRonald S. Bultje <rbultje@ronald.bitfreak.net>
Fri, 1 Oct 2004 08:42:56 +0000 (08:42 +0000)
Original commit message from CVS:
* ext/dvdread/dvdreadsrc.c: (dvdreadsrc_class_init),
(dvdreadsrc_init), (dvdreadsrc_dispose), (dvdreadsrc_set_property),
(dvdreadsrc_get_property), (_open), (_seek), (_read),
(dvdreadsrc_get), (dvdreadsrc_open_file),
(dvdreadsrc_change_state):
Fix. Don't do one big huge loop around the whole DVD, that will
cache all data and thus eat sizeof(dvd) (several GB) before we
see something.
* gst-libs/gst/riff/riff-read.c: (gst_riff_read_seek):
Actually NULL'ify event after using it.
* gst/matroska/ebml-read.c: (gst_ebml_read_use_event),
(gst_ebml_read_handle_event), (gst_ebml_read_element_id),
(gst_ebml_read_element_length), (gst_ebml_read_element_data),
(gst_ebml_read_seek), (gst_ebml_read_skip):
Handle events.
* gst/mpegstream/gstdvddemux.c: (gst_dvd_demux_base_init),
(gst_dvd_demux_init), (gst_dvd_demux_get_audio_stream),
(gst_dvd_demux_get_subpicture_stream), (gst_dvd_demux_plugin_init):
Fix timing (this will probably break if I seek using menus, but
I didn't get there yet). VOBs and normal DVDs should now work.
Add a mpeg2-only pad with high rank so this get autoplugged for
MPEG-2 movies.
* gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_base_init),
(gst_mpeg_demux_class_init), (gst_mpeg_demux_init),
(gst_mpeg_demux_new_output_pad), (gst_mpeg_demux_get_video_stream),
(gst_mpeg_demux_get_audio_stream),
(gst_mpeg_demux_get_private_stream), (gst_mpeg_demux_parse_packet),
(gst_mpeg_demux_parse_pes), (gst_mpeg_demux_plugin_init):
Use this as second rank for MPEG-1 and MPEG-2. Still use this for
MPEG-1 but use dvddemux for MPEG-2.
* gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_class_init),
(gst_mpeg_parse_init), (gst_mpeg_parse_new_pad),
(gst_mpeg_parse_parse_packhead):
Timing. Only add pad template if it exists. Add sink template from
class and not from ourselves. This means we will always use the
correct sink template even if it is not the one defined in this
file.

ChangeLog
gst-libs/gst/riff/riff-read.c

index 9ba7d02e560f54228616e7e6f88a4c45d488136a..7e15ebf322f8655dca97cc10dc20efe1177981b1 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,43 @@
+2004-10-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
+
+       * ext/dvdread/dvdreadsrc.c: (dvdreadsrc_class_init),
+       (dvdreadsrc_init), (dvdreadsrc_dispose), (dvdreadsrc_set_property),
+       (dvdreadsrc_get_property), (_open), (_seek), (_read),
+       (dvdreadsrc_get), (dvdreadsrc_open_file),
+       (dvdreadsrc_change_state):
+         Fix. Don't do one big huge loop around the whole DVD, that will
+         cache all data and thus eat sizeof(dvd) (several GB) before we
+         see something.
+       * gst-libs/gst/riff/riff-read.c: (gst_riff_read_seek):
+         Actually NULL'ify event after using it.
+       * gst/matroska/ebml-read.c: (gst_ebml_read_use_event),
+       (gst_ebml_read_handle_event), (gst_ebml_read_element_id),
+       (gst_ebml_read_element_length), (gst_ebml_read_element_data),
+       (gst_ebml_read_seek), (gst_ebml_read_skip):
+         Handle events.
+       * gst/mpegstream/gstdvddemux.c: (gst_dvd_demux_base_init),
+       (gst_dvd_demux_init), (gst_dvd_demux_get_audio_stream),
+       (gst_dvd_demux_get_subpicture_stream), (gst_dvd_demux_plugin_init):
+         Fix timing (this will probably break if I seek using menus, but
+         I didn't get there yet). VOBs and normal DVDs should now work.
+         Add a mpeg2-only pad with high rank so this get autoplugged for
+         MPEG-2 movies.
+       * gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_base_init),
+       (gst_mpeg_demux_class_init), (gst_mpeg_demux_init),
+       (gst_mpeg_demux_new_output_pad), (gst_mpeg_demux_get_video_stream),
+       (gst_mpeg_demux_get_audio_stream),
+       (gst_mpeg_demux_get_private_stream), (gst_mpeg_demux_parse_packet),
+       (gst_mpeg_demux_parse_pes), (gst_mpeg_demux_plugin_init):
+         Use this as second rank for MPEG-1 and MPEG-2. Still use this for
+         MPEG-1 but use dvddemux for MPEG-2.
+       * gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_class_init),
+       (gst_mpeg_parse_init), (gst_mpeg_parse_new_pad),
+       (gst_mpeg_parse_parse_packhead):
+         Timing. Only add pad template if it exists. Add sink template from
+         class and not from ourselves. This means we will always use the
+         correct sink template even if it is not the one defined in this
+         file.
+
 2004-09-29  Wim Taymans  <wim@fluendo.com>
 
        * gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_parse_packet),
index a400c7aa78b5d7f171dbbcb6d095862fde0f7b51..54e79ff073e0e084017db4927f117d89ccfd5ad5 100644 (file)
@@ -306,6 +306,7 @@ gst_riff_read_seek (GstRiffRead * riff, guint64 offset)
     GST_WARNING ("Unexpected event before seek");
     if (!gst_riff_read_use_event (riff, event))
       return NULL;
+    event = NULL;
   }
 
   if (remaining)