Original commit message from CVS:
Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
* gst/matroska/matroska-demux.c: (gst_matroskademux_do_index_seek):
When seeking, seek to closest index entry at or before the requested
seek position, not just the closest one (#321001).
Original commit message from CVS:
Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
* gst/matroska/matroska-mux.c: (gst_matroska_mux_write_data):
Don't try to ready buffer duration from buffer that we don't
own any longer and that might already have been unreffed.
(#321136)
Original commit message from CVS:
* gst/matroska/matroska-demux.c:
(gst_matroska_demux_push_vorbis_codec_priv_data),
(gst_matroska_demux_add_wvpk_header):
Don't error out when the source pad isn't linked.
Original commit message from CVS:
Patch by: Michal Benes <michal.benes@xeris.cz>
* check/Makefile.am:
* gst/matroska/ebml-write.c: (gst_ebml_write_seek):
* gst/matroska/matroska-mux.c: (gst_matroska_mux_handle_src_event),
(gst_matroska_mux_audio_pad_setcaps), (gst_matroska_mux_start):
add a unit test for matroskamux
fix the bugs that the unit test exposed
Original commit message from CVS:
Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
* gst/matroska/ebml-write.c: (gst_ebml_write_new),
(gst_ebml_write_reset), (gst_ebml_write_element_new):
* gst/matroska/ebml-write.h:
* gst/matroska/matroska-mux.c: (gst_matroska_mux_write_data):
Set timestamps on outgoing ebml headers as well, so that the
element after matroskamux can get the timestamp already when
reading the first ebml element and doesn't have to wait for
the actual data buffer for that (#320308).
Original commit message from CVS:
* ext/speex/gstspeexenc.c: (gst_speexenc_get_query_types),
(gst_speexenc_src_query):
Add position and duration query, fix query type function.
* gst/matroska/matroska-demux.c: (gst_matroska_demux_add_stream),
(gst_matroska_demux_video_caps), (gst_matroska_demux_audio_caps):
Let's not set non-fixed caps on source pads.
Original commit message from CVS:
* gst/matroska/matroska-demux.c:
(gst_matroska_demux_handle_src_query),
(gst_matroska_demux_handle_seek_event),
(gst_matroska_demux_loop_stream_parse_id):
Fix duration query; fix basetime in newsegment event after
seek; fix duration in initial newsegment event.
* gst/matroska/matroska-mux.c:
(gst_matroska_mux_audio_pad_setcaps), (gst_matroska_mux_start):
Extract number of channels and samplerate from vorbis headers;
add some debug messages when querying the durations of the
input streams.
Original commit message from CVS:
Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
* gst/matroska/matroska-mux.c:
(gst_matroska_mux_video_pad_setcaps),
(gst_matroska_mux_audio_pad_setcaps):
Fix mpeg4 input handling (#318847); also, while we're at it,
fix media type for Motion-JPEG: should be image/jpeg.
Original commit message from CVS:
* gst/matroska/matroska-demux.c:
(gst_matroska_demux_parse_blockgroup):
Fix logic error in timing of subtitle stream synchronization.
* gst/typefind/gsttypefindfunctions.c: (qt_type_find):
Add skip-chunk, which is found in kodak-camera streams.
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.
Original commit message from CVS:
* ext/alsa/gstalsa.c: (gst_alsa_change_state):
Reset variables on READY.
* gst/matroska/matroska-mux.c: (gst_matroska_mux_request_new_pad),
(gst_matroska_mux_loop):
Require data before writing header.
Original commit message from CVS:
* ext/dv/gstdvdec.c:
Fix audio caps i just broke (missing ',')
* gst/matroska/matroska-mux.c: (gst_matroska_mux_get_type),
(gst_matroska_mux_reset):
Fix typo + add FIXME about old "x-gst-metadata" crap
Original commit message from CVS:
Remove time-based check for first vorbis packet altogether, as it
was a hack since day one (Arwed who wrote it says so)...
Original commit message from CVS:
Fix Vorbis streams failing to decode in some files, where cluster_time isn't 0,
because then it doesn't send codec_priv before actual data.
Original commit message from CVS:
* gst/matroska/matroska-demux.c:
(gst_matroska_demux_parse_blockgroup):
Save position, so that queries give proper return values. Don't
know how this could ever have worked before...
Original commit message from CVS:
* gst/matroska/matroska-demux.c: (gst_matroska_ebmlnum_uint),
(gst_matroska_ebmlnum_sint), (gst_matroska_demux_parse_blockgroup):
Lace sizes can be zero.
Original commit message from CVS:
* gst/matroska/matroska-demux.c: (aac_rate_idx), (aac_profile_idx),
(gst_matroska_demux_audio_caps):
Some MPEG-AAC hacks, because else it doesn't work...
Original commit message from CVS:
* gst/matroska/matroska-demux.c:
(gst_matroska_demux_handle_src_query):
Don't set DEFAULT, unsupported - makes length display incorrectly
in some cases.
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.
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
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.
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.
Original commit message from CVS:
Write track and segment UIDs, write muxing date, write TRACKDEFAULTDURATION for TTA audio, write BLOCKDURATION if known.
Original commit message from CVS:
Fix byte order reversion for writing ebml floats.
Write segment duration and muxing application in matroska.
Added TTA codec to the list of supported codecs to mux into matroska.
Original commit message from CVS:
Interpret BLOCKDURATION and set buffer duration accordingly, enable demuxing
of TTA audio from matroska, fixes bugs #148950 and #148951.