Original commit message from CVS:
* ext/amrnb/amrnbdec.c: (gst_amrnbdec_event), (gst_amrnbdec_chain):
* ext/amrnb/amrnbparse.c: (gst_amrnbparse_init),
(gst_amrnbparse_sink_event), (gst_amrnbparse_chain),
(gst_amrnbparse_sink_activate), (gst_amrnbparse_state_change):
* ext/amrnb/amrnbparse.h:
Sortof first quick cleanup of all this mess...
Don't crap out on empty and invalid FTs but treat them as
empty packets, the decoder handles them fine.
Fixes#342222.
Original commit message from CVS:
* gst/asfdemux/gstasf.c: (plugin_init):
Call gst_riff_init() so the riff debug category gets set up
before it is being used.
Original commit message from CVS:
* gst/iec958/ac3_padder.c: (ac3p_parse):
* gst/iec958/ac3_padder.h:
* gst/iec958/ac3iec.c: (ac3iec_init), (ac3iec_set_property),
(ac3iec_chain_raw), (ac3iec_change_state):
* gst/iec958/ac3iec.h:
Write rate into the caps, for the allowed ac3 rates. Some minor
cleanups.
Original commit message from CVS:
Patch by: James "Doc" Livingston <doclivingston gmail com>
* ext/mad/gstid3tag.c: (gst_id3_tag_get_tag_to_render):
Do tag merging correctly (#339918). Output taglists
properly in debug statements too while we're at it.
Original commit message from CVS:
* ext/a52dec/gsta52dec.c: (gst_a52dec_chain):
Add more debug
* gst/dvdlpcmdec/gstdvdlpcmdec.c: (gst_dvdlpcm_reset),
(gst_dvdlpcmdec_init), (update_timestamps),
(gst_dvdlpcmdec_chain_dvd), (gst_dvdlpcmdec_chain_raw),
(dvdlpcmdec_sink_event):
* gst/dvdlpcmdec/gstdvdlpcmdec.h:
If we have a first_access offset but no current timestamp (might
happen after a seek), then calculate a start time for the first
portion so that it will align with the timestamp given for the
first_access portion.
If a new-segment arrives with format time, store the start
time as a failsafe timestamp in case we never get any further
timestamp info (unlikely)
Mask out the 'frame number' section of the incoming header so
that we don't consider it to be changing on every buffer and
reset the caps constantly.
Use gst_util_uint64_scale for duration calculation
Original commit message from CVS:
* gst/dvdlpcmdec/gstdvdlpcmdec.c: (gst_dvdlpcmdec_chain_dvd):
Fix timestamping for cases where the first_access parameter is 4.
Ensure we don't overrun buffers in other cases.
Original commit message from CVS:
* ext/lame/gstlame.c: (gst_lame_get_type),
(gst_lame_release_memory), (gst_lame_init), (gst_lame_sink_event),
(gst_lame_setup), (gst_lame_change_state):
* ext/lame/gstlame.h:
Remove tag writing from lame (which was completely broken
anyway, #329184). Leaving GstTagSetter interface around for
now, albeit non-functional. Should be removed completely
in 0.11. Use the 'id3v2mux' plugin from -good for writing
tags.
Original commit message from CVS:
Patch by: Andres Salomon <dilinger at debian org>
* ext/lame/gstlame.c: (gst_lame_sink_event):
Fix typo (comma vs. semicolon) (#340710).
Original commit message from CVS:
Patch by: Lutz Müller <lutz at topfrose de>
* ext/mad/gstmad.c: (gst_mad_init), (gst_mad_src_query):
Make mad the second element to support the highly useful
FORMATS query (#340594)
Original commit message from CVS:
* ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_sink_convert),
(gst_mpeg2dec_src_query):
Remember the query duration format before passing it upstream since it
could have been modified.
Add GST_WARNING_OBJECT in sink convert function to detail why the
conversion didn't work.
Original commit message from CVS:
* ext/mad/gstid3tag.c:
* ext/mad/gstmad.c:
* gst/ac3parse/gstac3parse.c:
* gst/dvdlpcmdec/gstdvdlpcmdec.c:
* gst/synaesthesia/gstsynaesthesia.c:
Define GstElementDetails as const and also static (when defined as
global)
Original commit message from CVS:
* ext/dvdnav/dvdnavsrc.c: (gst_dvd_nav_src_push_titlelang_event):
Fix name of custom event (use same as dvdreadsrc).
* gst/dvdsub/gstdvdsubdec.c: (gst_dvd_sub_dec_chain),
(gst_dvd_sub_dec_sink_event), (gst_dvd_sub_dec_handle_dvd_event):
Fix event parsing (the event name is in the structure, not the
name of the structure itself); also fix indentation after
boilerplate macro.
Original commit message from CVS:
Patch by: Alexander Lancaster <alexl at users sourceforge net>
* ext/mad/gstid3tag.c: (gst_id3_tag_get_caps), (gst_id3_tag_init),
(gst_id3_tag_sink_event), (gst_id3_tag_src_link),
(gst_id3_tag_chain):
When acting as a muxer, set caps on outgoing buffers and set caps
on source pad (fixes#323658). Remove unused application/x-gst-tags
cruft from the 0.6 days.
Original commit message from CVS:
* ext/mad/gstmad.c: (gst_mad_convert_sink), (gst_mad_convert_src),
(gst_mad_src_query), (gst_mad_chain):
.. and DEFAULT queries should work too. Use magic gst util scale
functions in some places.
Original commit message from CVS:
Patch by: Ed Catmur <ed at catmur dot co dot uk>
* ext/lame/gstlame.c: (gst_lame_sink_event):
Don't crash if we get an EOS event before the encoder
has been set up (#339287).
Original commit message from CVS:
* ext/dvdread/dvdreadsrc.c: (gst_dvd_read_src_start),
(gst_dvd_read_src_goto_title), (gst_dvd_read_src_read),
(gst_dvd_read_src_create), (gst_dvd_read_src_goto_sector):
Move errors out of the normal code flow.
Don't send eos, basesrc will do that for us when needed.
Original commit message from CVS:
* gst/mpegstream/gstdvddemux.c: (gst_dvd_demux_change_state):
* gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_change_state):
* gst/mpegstream/gstrfc2250enc.c: (gst_rfc2250_enc_change_state):
Do state changes correctly
Original commit message from CVS:
* ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_alloc_sized_buf),
(gst_mpeg2dec_alloc_buffer):
Can't use gst_pad_alloc_buffer*() when we are going to crop
the image before sending it out. Downstream basetransform-based
elements will complain about the wrong unit size otherwise
(when not operating in passthrough-mode at least).
Const-ify some static variables and do some minor clean-ups.
Use I420 macros for size/offsets (not really necessary in this
particular context, but this kind of code gets copy'n'pasted).
Original commit message from CVS:
* gst/mpegstream/gstmpegpacketize.c: (gst_mpeg_packetize_put),
(read_cache):
* gst/mpegstream/gstmpegpacketize.h:
g_malloc() can't fail, we don't need to handle this. Same for
gst_buffer_new_and_alloc().
* gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_chain):
klass->send_buffer() should have the same semantics as
gst_pad_push(), ie. ownership of the buffer is transfered,
so we never have to unref the buffer no matter what the flow
return value was.
Original commit message from CVS:
add test for amrnbenc, enable test infrastructure, and fix a leak
* common/check.mak:
allow for specifying more than one suppressions file in SUPPRESSIONS
* Makefile.am:
* tests/Makefile.am:
* tests/check/.cvsignore:
* tests/check/Makefile.am:
* tests/check/elements/.cvsignore:
* configure.ac:
add tests/check
* tests/check/gst-plugins-ugly.supp:
add suppressions for libs used by -ugly
* tests/check/elements/amrnbenc.c: (buffer_new), (buffer_unref),
(setup_amrnbenc), (cleanup_amrnbenc), (push_data),
(GST_START_TEST), (amrnbenc_suite), (main):
add a simple test for encoding amr
* ext/amrnb/amrnbenc.c: (gst_amrnbenc_init):
fix pad template leaks
Original commit message from CVS:
* ext/mad/gstmad.c: (index_seek):
move GstIndexEntry *entry variable declaration before
the first instruction
* ext/mad/gstmad.c:
remove debug macros with variable number of parameter by using
GST_DEBUG for WIN32
* gst/dvdsub/gstdvdsubdec.c: (gst_dvd_sub_dec_parse_subpic):
use gst_guint64_to_gdouble for conversions
* gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_sync_stream_to_time):
replace __FUNCTION__ which is not supported by MSVC by the current function name
* gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_reset):
remove LL suffix by using G_GINT64_CONSTANT
* gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_parse_packhead),(gst_mpeg_parse_get_rate):
use gst_guint64_to_gdouble for conversions
* gst/mpegstream/gstmpegparse.h:
remove LL suffix by using G_GINT64_CONSTANT
* win32/vs6:
add project files for tagac3parse, asfdemux, dvdlpcmdec, dvdsub, iec958, lame,
mad, mpegaudioparse, mpegstream, realmedia, synaesthesia
Original commit message from CVS:
Patch by: Fabrizio Gennari <fabrizio dot ge at tiscali dot it>
* gst/asfdemux/gstasfdemux.c: (gst_asf_demux_sink_event),
(gst_asf_demux_push_buffer):
Send newsegment event only once per pad, fixes#336550.
Original commit message from CVS:
* gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_handle_src_event):
Don't unref event unconditionally after giving away ownership
(gst_pad_push_event(), gst_pad_send_event() and
gst_pad_event_default() take ownership of the event
passed to them). Fixes warnings/crashes caused by
navigation events.
Original commit message from CVS:
* gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_send_subbuffer):
Don't ref NULL caps (private streams have NULL caps) (#336387);
also, no need to set caps on the same buffer twice.
Original commit message from CVS:
* gst/mpegstream/gstdvddemux.c: (gst_dvd_demux_process_event),
(gst_dvd_demux_handle_dvd_event), (gst_dvd_demux_get_audio_stream),
(gst_dvd_demux_get_subpicture_stream):
* gst/mpegstream/gstmpegdemux.c:
(gst_mpeg_demux_sync_stream_to_time):
Don't leak element and pad names in error messages, use
GST_DEBUG_PAD_NAME instead. Add some more debug code.
Original commit message from CVS:
* ext/dvdread/dvdreadsrc.c: (gst_dvd_read_src_init),
(gst_dvd_read_src_goto_title), (gst_dvd_read_src_read):
Name the structure in the custom event with the
language codes for the audio and subtitle streams
actually like dvddemux expects it to be named.
Set caps on source pad and outgoing buffers.