summaryrefslogtreecommitdiffstats
path: root/gst/matroska/ebml-read.c
Commit message (Collapse)AuthorAgeFilesLines
* gst/matroska/ebml-read.c: Don't create unnecessary sub-buffers all the time. ↵Jindrich Makovicka2006-05-171-73/+98
| | | | | | | | | | | | | | | | | Dramatically improves performance with m... Original commit message from CVS: Patch by: Jindrich Makovicka <jindrich.makivicka at itonis tv> * gst/matroska/ebml-read.c: (gst_ebml_read_peek_bytes), (gst_ebml_read_pull_bytes), (gst_ebml_read_element_id), (gst_ebml_read_element_length), (gst_ebml_read_buffer), (gst_ebml_read_bytes), (gst_ebml_read_uint), (gst_ebml_read_sint), (gst_ebml_read_float), (gst_ebml_read_ascii), (gst_ebml_read_binary): Don't create unnecessary sub-buffers all the time. Dramatically improves performance with multiple concurrently running matroskademux instances (#341818) (and avoids doing unnecessarily inefficient things in the general case).
* gst/matroska/ebml-read.c: Don't try to modify read-only data.Tim-Philipp Müller2006-04-101-1/+6
| | | | | | | | | Original commit message from CVS: * gst/matroska/ebml-read.c: (gst_ebml_read_sint): Don't try to modify read-only data. * gst/matroska/matroska-demux.c: (gst_matroska_demux_parse_blockgroup_or_simpleblock): Fix comment (won't crash any longer now).
* gst/matroska/ebml-read.c: Even better would be if we actually did the right ↵Tim-Philipp Müller2006-04-091-1/+1
| | | | | | | | | thing here (also, G_GUINT64_CONSTANT only... Original commit message from CVS: * gst/matroska/ebml-read.c: (gst_ebml_read_sint): Even better would be if we actually did the right thing here (also, G_GUINT64_CONSTANT only exists since GLib-2.10).
* gst/matroska/ebml-read.c: Can't just replace 1LL with 1L here just because ↵Tim-Philipp Müller2006-04-091-1/+1
| | | | | | | | | | | MSVC doesn't support it, as it might lead ... Original commit message from CVS: * gst/matroska/ebml-read.c: (gst_ebml_read_sint): Can't just replace 1LL with 1L here just because MSVC doesn't support it, as it might lead to incorrect results when doing the bitshifting here. Using GLib's G_GUINT64_CONSTANT() macro to force a 64-bit constant in a way that all compilers are happy with.
* ext\jpeg\smokecodec.c: use of GST_DEBUG instead of DEBUG(a...) for WIN32Sébastien Moutte2006-03-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Original commit message from CVS: * ext\jpeg\smokecodec.c: use of GST_DEBUG instead of DEBUG(a...) for WIN32 * ext\speex\gstspeexenc.c: (gst_speexenc_set_header_on_caps): move first instruction after all variables declarations * gst\alpha\gstalpha.c: * gst\effectv\gstshagadelic.c: * gst\smpte\paint.c: * gst\videofilter\gstvideobalance.c: define M_PI if it's not defined (it's not defined on WIN32) * gst\cutter\gstcutter.c: (gst_cutter_chain): * gst\id3demux\id3v2frames.c: (parse_relative_volume_adjustment_two): * gst\level\gstlevel.c: (gst_level_set_property), (gst_level_transform_ip): * gst\matroska\matroska-demux.c: (gst_matroska_demux_parse_info), (gst_matroska_demux_video_caps): * gst\matroska\matroska-mux.c: (gst_matroska_mux_start), (gst_matroska_mux_finish): * gst\wavparse\gstwavparse.c: (gst_wavparse_stream_data): use gst_guint64_to_gdouble for conversions * gst\goom\filters.c: (setPixelRGB_): fix a debug which was using undefined variable * gst\level\gstlevel.c: (gst_level_set_caps), (gst_level_transform_ip): * gst\matroska\ebml-read.c: (gst_ebml_read_sint): replace LL suffix with L suffix (LL isn't supported by MSVC6.0) * win32/vs6: add vs6 projects files for most of plugins-good
* Just make it compile with --disable-gst-debug.Edgard Lima2006-02-031-0/+3
| | | | | Original commit message from CVS: Just make it compile with --disable-gst-debug.
* API change fix.Wim Taymans2005-10-191-2/+2
| | | | | | | | | | | | | | | | | | | | | | Original commit message from CVS: * ext/dv/gstdvdemux.c: (gst_dvdemux_get_src_query_types), (gst_dvdemux_src_query): * ext/flac/gstflacdec.c: (gst_flacdec_length), (gst_flacdec_src_query): * ext/raw1394/gstdv1394src.c: (gst_dv1394src_query): * ext/speex/gstspeexdec.c: (speex_dec_src_query): * gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_query): * gst/debug/gstnavseek.c: (gst_navseek_seek): * gst/debug/progressreport.c: (gst_progress_report_report): * gst/matroska/ebml-read.c: (gst_ebml_read_get_length): * gst/matroska/matroska-demux.c: (gst_matroska_demux_handle_src_query): * gst/matroska/matroska-mux.c: (gst_matroska_mux_start): * gst/wavparse/gstwavparse.c: (gst_wavparse_handle_seek), (gst_wavparse_stream_headers), (gst_wavparse_stream_data), (gst_wavparse_pad_convert), (gst_wavparse_pad_query), (gst_wavparse_srcpad_event): API change fix.
* gst/matroska/: Ported matroska demuxer to 0.9.Tim-Philipp Müller2005-10-181-269/+199
| | | | | | | | | | | Original commit message from CVS: * gst/matroska/Makefile.am: * gst/matroska/ebml-read.c: * gst/matroska/ebml-read.h: * gst/matroska/matroska-demux.c: * gst/matroska/matroska-demux.h: * gst/matroska/matroska.c: (plugin_init): Ported matroska demuxer to 0.9.
* All plugins updated for element state changes.Andy Wingo2005-09-021-9/+10
| | | | | | | Original commit message from CVS: 2005-09-02 Andy Wingo <wingo@pobox.com> * All plugins updated for element state changes.
* gst/matroska/ebml-read.c: Allow for 0-sized buffers. Fixes length query ↵Ronald S. Bultje2005-01-191-0/+6
| | | | | | | | | problems in starwars.mkv from the testsuite. Original commit message from CVS: * gst/matroska/ebml-read.c: (gst_ebml_read_buffer): Allow for 0-sized buffers. Fixes length query problems in starwars.mkv from the testsuite.
* gst/matroska/: Disgustingly evil hack for working around INTERRUPT events ↵Ronald S. Bultje2004-12-031-6/+67
| | | | | | | | | | | | | | | | | | | and their extremely annoying habit of being... Original commit message from CVS: * gst/matroska/ebml-read.c: (gst_ebml_read_class_init), (gst_ebml_read_init), (gst_ebml_read_use_event), (gst_ebml_read_element_id), (gst_ebml_peek_id), (gst_ebml_read_seek), (gst_ebml_read_skip), (gst_ebml_read_reserve), (gst_ebml_read_buffer), (gst_ebml_read_master): * gst/matroska/ebml-read.h: * gst/matroska/matroska-demux.c: (gst_matroska_demux_parse_contents), (gst_matroska_demux_loop_stream), (gst_matroska_demux_audio_caps): Disgustingly evil hack for working around INTERRUPT events and their extremely annoying habit of being a pain in the ass. We simply peek a cluster before reading any of it.
* gst/wavparse/gstwavparse.c: add ATRAC3 to STATIC CAPS to fix a warningStéphane Loeuillet2004-10-061-1/+1
| | | | | | | | | | Original commit message from CVS: * gst/wavparse/gstwavparse.c: add ATRAC3 to STATIC CAPS to fix a warning * gst/matroska/ebml-read.c: * gst-libs/gst/riff/riff-read.c: fix typos
* ext/dvdread/dvdreadsrc.c: Fix. Don't do one big huge loop around the whole ↵Ronald S. Bultje2004-10-011-50/+77
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | DVD, that will cache all data and thus eat... 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.
* ext/dirac/: Do something. Don't actually know if this works because I don't ↵Ronald S. Bultje2004-09-231-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | have a demuxer yet. Original commit message from CVS: * ext/dirac/Makefile.am: * ext/dirac/gstdirac.cc: * ext/dirac/gstdiracdec.cc: * ext/dirac/gstdiracdec.h: Do something. Don't actually know if this works because I don't have a demuxer yet. * ext/gsm/gstgsmdec.c: (gst_gsmdec_getcaps): Add channels=1 to caps returned from _getcaps(). * ext/ogg/gstogmparse.c: (gst_ogm_audio_parse_get_type), (gst_ogm_video_parse_get_type), (gst_ogm_audio_parse_base_init), (gst_ogm_video_parse_base_init), (gst_ogm_parse_init), (gst_ogm_audio_parse_init), (gst_ogm_video_parse_init), (gst_ogm_parse_sink_convert), (gst_ogm_parse_chain), (gst_ogm_parse_change_state): Separate between audio/video so ogmaudioparse actually uses the audio pad templates. Both audio and video work now, including autoplugging. Also use sometimes-srcpad hack. * gst-libs/gst/riff/riff-read.c: (gst_riff_read_seek): Handle events better. Don't hang on infinite loops. * gst/avi/gstavidemux.c: (gst_avi_demux_class_init), (gst_avi_demux_init), (gst_avi_demux_reset), (gst_avi_demux_src_convert), (gst_avi_demux_handle_src_query), (gst_avi_demux_stream_header), (gst_avi_demux_stream_data), (gst_avi_demux_change_state): * gst/avi/gstavidemux.h: Improve A/V sync. Still not perfect. * gst/matroska/ebml-read.c: (gst_ebml_read_seek), (gst_ebml_read_skip): Handle events better. * gst/qtdemux/qtdemux.c: (gst_qtdemux_handle_sink_event), (gst_qtdemux_loop_header), (qtdemux_parse_trak), (qtdemux_audio_caps): Add IMA4. Improve event handling. Save offset after a seek when the headers are at the end of the file so that we don't end up in an infinite loop. * gst/typefind/gsttypefindfunctions.c: (qt_type_find): Add low-priority typefind support for files with no length.
* Write track and segment UIDs, write muxing date, write TRACKDEFAULTDURATION ↵Arwed v. Merkatz2004-09-011-2/+7
| | | | | | | for TTA audio, write BLOCKDURATION if known. Original commit message from CVS: Write track and segment UIDs, write muxing date, write TRACKDEFAULTDURATION for TTA audio, write BLOCKDURATION if known.
* Handle EOS correctly.Arwed v. Merkatz2004-08-271-2/+6
| | | | | Original commit message from CVS: Handle EOS correctly.
* don't mix tabs and spacesThomas Vander Stichele2004-03-151-77/+77
| | | | | Original commit message from CVS: don't mix tabs and spaces
* gst-indentThomas Vander Stichele2004-03-141-136/+117
| | | | | Original commit message from CVS: gst-indent
* change NULL to (NULL) for GST_ELEMENT_ERRORThomas Vander Stichele2004-02-021-13/+13
| | | | | | Original commit message from CVS: change NULL to (NULL) for GST_ELEMENT_ERROR Make sure errors end with "."
* gst/: Fix event handling.Ronald S. Bultje2004-01-301-16/+20
| | | | | | | | | | | Original commit message from CVS: 2004-01-30 Ronald Bultje <rbultje@ronald.bitfreak.net> * gst-libs/gst/riff/riff-read.c: (gst_riff_peek_head), (gst_riff_read_seek): * gst/matroska/ebml-read.c: (gst_ebml_read_element_id), (gst_ebml_read_seek): Fix event handling.
* GST_ELEMENT_ERRORThomas Vander Stichele2004-01-291-14/+14
| | | | | Original commit message from CVS: GST_ELEMENT_ERROR
* use new error signal and classificationThomas Vander Stichele2004-01-181-39/+34
| | | | | Original commit message from CVS: use new error signal and classification
* gst/matroska/: fix signed integer reading/writing.Ronald S. Bultje2004-01-021-5/+10
| | | | | | | | | Original commit message from CVS: 2004-01-02 Ronald Bultje <rbultje@ronald.bitfreak.net> * gst/matroska/ebml-read.c: (gst_ebml_read_sint): * gst/matroska/ebml-write.c: (gst_ebml_write_sint): fix signed integer reading/writing.
* Riff, EBML, fourcc etc. work. Not fully finished, but better than what we ↵Ronald S. Bultje2003-12-071-26/+101
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | used to have and definately worth a first b... Original commit message from CVS: Riff, EBML, fourcc etc. work. Not fully finished, but better than what we used to have and definately worth a first broad testing. I've revived rifflib. Rifflib used to be a bytestream-for-riff, which just dup'ed bytestream. I've rewritten rifflib to be a modern riff- chunk parser that uses bytestream fully, plus adds some extra functions so that riff file parsing becomes extremely easy. It also contains some small usability functions for strh/strf and metadata parsing. Note that it doesn't use the new tagging yet, that's a TODO. Avidemux has been rewritten to use this. I think we all agreed that avidemux was pretty much a big mess, which is because it used all sort of bytestream magic all around the place. It was just ugly. This is a lot nicer, very complete and safe. I think this is far more robust than what the old avidemux could ever have been. Of course, it might contain bugs, please let me know. EBML writing has also been implemented. This is useful for matroska. I'm intending to modify avidemux (with a riffwriter) similarly. Maybe I'll change wavparse/-enc too to use rifflib. Lastly, several plugins have been modified to use rifflib's fourcc parsing instead of their own. this puts fourcc parsing in one central place, which should make it a lot simpler to add new fourccs. We might want to move this to its own lib instead of rifflib. Enjoy!
* Add C-based local matroska/EBML plugin, remove libmatroska/libebml c++ oneRonald S. Bultje2003-11-211-0/+702
Original commit message from CVS: Add C-based local matroska/EBML plugin, remove libmatroska/libebml c++ one