Original commit message from CVS:
* ext/mad/gstmad.c: (gst_mad_convert_sink), (gst_mad_convert_src):
When handling seeks, don't convert -1 start or stop values to a bogus
byte position - pass them upstream as -1.
Original commit message from CVS:
* gst/mpegaudioparse/gstmpegaudioparse.c:
(mp3_type_frame_length_from_header), (gst_mp3parse_reset),
(gst_mp3parse_init), (gst_mp3parse_sink_event),
(gst_mp3parse_emit_frame), (gst_mp3parse_chain),
(gst_mp3parse_change_state), (mp3parse_time_to_bytepos),
(mp3parse_bytepos_to_time), (mp3parse_total_bytes),
(mp3parse_total_time), (mp3parse_handle_seek),
(mp3parse_src_event), (mp3parse_src_query),
(mp3parse_get_query_types), (plugin_init):
* gst/mpegaudioparse/gstmpegaudioparse.h:
Implement seeking via average bitrate, and position+duration
querying in mp3parse. Later, it will support frame-accurate seeking by
building a seek table as it parses.
Add 'parsed=false' to the sink pad caps, and 'parsed=true' to the src
pad caps. Bump the priority to PRIMARY+1 so that it is autoplugged
before any extant MP3 decoder plugin. This allows us to remove framing
support from the decoders, if we want, and will provide them with
accurate seeking automatically once it is finished.
Fix the handling of MPEG-1 Layer 1 files.
Partially fix timestamping of packets arriving from a demuxer by
queueing the incoming timestamp until the next packet starts, rather
than applying it immediately to the next pushed buffer.
Original commit message from CVS:
Patch by: Zaheer Abbas Merali <zaheermerali at gmail com>
* ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_chain):
Never post a (fatal) error message on the bus on decoding errors. We
should only do this if we can't recover, but mpeg2dec can always
recover. This is needed for DVB streams, for example, where there
may be temporary glitches in the stream. Instead of an error
message, post a warning message on the bus for every N decoding
errors. Fixes#370020.
Original commit message from CVS:
* ext/lame/gstlame.c: (gst_lame_class_init), (gst_lame_init),
(gst_lame_setup):
Display sensible defaults and limits for the
vbr-min/max/mean properties. Fix the 'hard-limit' VBR min
property - it's supposed to be a boolean 0/1 value.
Original commit message from CVS:
* ext/lame/gstlame.c:
Initialise the variables so gcc doesn't complain about possibly
uninitialised uses, even though they can't actually happen.
Original commit message from CVS:
* gst/dvdlpcmdec/gstdvdlpcmdec.c: (gst_dvdlpcm_reset),
(update_timestamps), (parse_header), (gst_dvdlpcmdec_chain_dvd),
(gst_dvdlpcmdec_chain_raw), (dvdlpcmdec_sink_event):
* gst/dvdlpcmdec/gstdvdlpcmdec.h:
Implement all sample rates.
Implement sample permutation a little smarter avoiding a memcpy.
Fix timestamps, use segments, fix seeking.
Original commit message from CVS:
* ext/lame/gstlame.c: (gst_lame_sink_setcaps),
(gst_lame_set_property), (gst_lame_setup):
Fix up bitrate checking macro. Make it give us a
GST_ELEMENT_WARNING message so the application has a chance of
reporting this to the user. Move the checking to _setup, so we
are sure it runs in the READY state, when we hope to have a pipeline
and a bus that is not flushing.
This fixes e.g. using 96 kbit/sec as a bitrate.
Original commit message from CVS:
* gst/asfdemux/gstasfdemux.c: (gst_asf_demux_process_file),
(gst_asf_demux_process_advanced_mutual_exclusion),
(gst_asf_demux_process_queued_extended_stream_objects),
(gst_asf_demux_process_object), (gst_asf_demux_change_state):
* gst/asfdemux/gstasfdemux.h:
Parse advanced mutual exclusion object and only add pads for
'hidden' streams (those in an extended stream header) that are
mutually exclusive with an already existing 'main stream' if
the broadcasting flag is not set. If the broadcasting flag is set,
assume that data for this stream isn't sent. (This should ideally be
solved better by making playbin more robust against this and/or by
making mmssrc send some information downstream about which streams
will be streamed). Fixes#353116.
Original commit message from CVS:
* gst/synaesthesia/gstsynaesthesia.c:
(gst_synaesthesia_class_init), (gst_synaesthesia_init),
(gst_synaesthesia_finalize), (gst_synaesthesia_chain):
* gst/synaesthesia/synaescope.c: (synaescope_coreGo),
(synaescope32), (synaescope_set_data), (synaesthesia_update),
(synaesthesia_init), (synaesthesia_new), (synaesthesia_close):
* gst/synaesthesia/synaescope.h:
Move all the mutable engine state into a structure so that
multiple element instances can run without interfering.
Original commit message from CVS:
* gst/realmedia/rmdemux.c:(gst_rmdemux_parse_indx_data):
Use gst_guint64_to_gdouble for conversions.
* gst/synaesthesia/synaescope.c:
Define M_PI and do not include <pthread.h> and
<sys/time.h> for G_OS_WIN32
* win32/vs6/libgstrealmedia.dsp:
* win32/vs6/synaesthesia.dsp:
Update projects files.
* win32/common/config.h.in:
Add config.h.in for autogen of config.h
Original commit message from CVS:
* configure.ac:
Add --enable-experimental support. Activate synaesthesia when building
with --enable-experimental. Fix --enable external configure switch
description.
Original commit message from CVS:
* ext/lame/gstlame.c: (gst_lame_sink_event), (gst_lame_chain),
(gst_lame_change_state):
* ext/lame/gstlame.h:
On receiving EOS, we try to push a last buffer with the remaining
samples. Don't do that if we got an unclean flow return on the last
gst_pad_push(), downstream might not handle this very gracefully
(see #403168).
* gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_chain):
Pass flow returns upstream (helps #403168).
Original commit message from CVS:
* gst/synaesthesia/gstsynaesthesia.c:
(gst_synaesthesia_class_init), (gst_synaesthesia_init),
(gst_synaesthesia_sink_setcaps), (gst_synaesthesia_src_getcaps),
(gst_synaesthesia_chain), (plugin_init):
check result of gst_pad_push() in _chain.
Original commit message from CVS:
* gst/synaesthesia/Makefile.am:
* gst/synaesthesia/gstsynaesthesia.c:
(gst_synaesthesia_class_init), (gst_synaesthesia_init),
(gst_synaesthesia_sink_setcaps), (gst_synaesthesia_src_getcaps),
(gst_synaesthesia_chain), (plugin_init):
* gst/synaesthesia/synaescope.c:
* gst/synaesthesia/synaescope.h:
Added docs (not yet added to gst-plugins-ugl/docs/plugins as plugin is not
built by default). Fixed Makefile.am. Fixed license headers (its GPL as it
is derived from GPL code). Fixed GST_SYNAESTHESIA_CLASS macro. Added
GST_DEBUG_FUNCPTR. Reflowed _setcaps. Updated pad setup in _init. Fix
possible leak in _chain. (#356882)
Original commit message from CVS:
* gst/asfdemux/asfheaders.c:
* gst/asfdemux/asfheaders.h:
* gst/asfdemux/gstasfdemux.c: (gst_asf_demux_init),
(gst_asf_demux_sink_event), (gst_asf_demux_handle_seek_event),
(gst_asf_demux_identify_guid), (asf_demux_peek_object),
(gst_asf_demux_chain_headers), (gst_asf_demux_chain),
(gst_asf_demux_setup_pad), (gst_asf_demux_process_stream),
(gst_asf_demux_process_ext_content_desc),
(gst_asf_demux_get_object_header), (gst_asf_demux_process_header),
(gst_asf_demux_process_file), (gst_asf_demux_process_comment),
(gst_asf_demux_process_bitrate_props_object),
(gst_asf_demux_process_header_ext),
(gst_asf_demux_process_language_list),
(gst_asf_demux_process_ext_stream_props),
(gst_asf_demux_process_queued_extended_stream_objects),
(gst_asf_demux_process_object), (gst_asf_demux_change_state):
* gst/asfdemux/gstasfdemux.h:
Refactor and clean up header parsing and chain function a bit; get
rid of some cruft; make header parsing a tad more robust, fixing
#403188.
Original commit message from CVS:
* gst/asfdemux/gstasfdemux.c: (gst_asf_demux_sink_event):
Post an error if we receive an EOS event while still waiting for the
ASF header object to come through.
Original commit message from CVS:
Patch by: Xavier B. <xavierb gmail com>
* gst/asfdemux/gstasfdemux.c: (gst_asf_demux_get_guid),
(gst_asf_demux_add_audio_stream), (gst_asf_demux_add_video_stream),
(gst_asf_demux_process_ext_content_desc),
(gst_asf_demux_process_data),
(gst_asf_demux_process_language_list),
(gst_asf_demux_process_ext_stream_props),
(gst_asf_demux_process_segment), (gst_asf_demux_handle_data):
Guard places where we assume that a certain amount of data is
available better against less data being available (should fix
infamous assertion crasher bug #336370). Also fixes a small
memory leak.
Original commit message from CVS:
* Makefile.am:
Add win32/MANIFEST to EXTRA_DIST so win32 files will
be include in the next release.
* win32/MANIFEST:
Remove win32/common/config.h is which is not autogenerated yet.
Original commit message from CVS:
* ext/lame/gstlame.c: (gst_lame_sink_setcaps), (gst_lame_chain):
warn when outgoing sample rate is different from incoming
Original commit message from CVS:
* gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_chain):
All sample-rates < 32khz come from the LSF extensions, which only
use 1 granule. Fixes parsing of 22.05khz, 24khz and 16khz files.
Use gst_util_uint64_scale because we can.
Original commit message from CVS:
* tests/check/elements/amrnbenc.c: (setup_amrnbenc),
(cleanup_amrnbenc):
* tests/check/elements/mpeg2dec.c: (setup_mpeg2dec),
(cleanup_mpeg2dec):
re-apply as it was -bad and not -ugly that is frozen, doh
Original commit message from CVS:
* gst/asfdemux/gstasfdemux.c:
(gst_asf_demux_get_gst_tag_from_tag_name),
(gst_asf_demux_process_ext_content_desc):
add a comment about a future change
* tests/check/elements/amrnbenc.c: (setup_amrnbenc),
(cleanup_amrnbenc):
* tests/check/elements/mpeg2dec.c: (setup_mpeg2dec),
(cleanup_mpeg2dec):
consistent pad (de)activation
Original commit message from CVS:
* gst/realmedia/rmdemux.c: (gst_rmdemux_src_query),
(gst_rmdemux_src_query_types):
Implement SEEKING query, make query function thread-safe.
Original commit message from CVS:
* gst/realmedia/rmdemux.c: (gst_rmdemux_descramble_dnet_audio):
Use alignment-safe macros here too (subbuffers ...); guard against
hypothetical memory access beyond our given buffer in the case
where the buffer size is not a multiple of 2.
Original commit message from CVS:
* gst/asfdemux/gstasfdemux.c: (gst_asf_demux_handle_seek_event),
(gst_asf_demux_process_data), (gst_asf_demux_process_file),
(gst_asf_demux_handle_src_query), (gst_asf_demux_change_state):
* gst/asfdemux/gstasfdemux.h:
Don't crash in the seek event handling code when playtime is 0,
as may be the case with live streams (#386218). Implement SEEKING
query so applications can query seekability without second-guessing
based on whether we have a duration or not.
Original commit message from CVS:
* gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_parse_packhead):
Use our alignment-safe macros here too, since we can't assume that
GST_BUFFER_DATA is aligned (these are subbuffers we're dealing with
here).
Original commit message from CVS:
* gst/realmedia/rmdemux.c: (gst_rmdemux_parse_indx_data):
Also, don't read the index for a stream a second time when
operating in pull-mode and reaching the end of the file.
Original commit message from CVS:
Patch by: Roland Kay <roland.kay at ox compsoc net>
* gst/realmedia/rmdemux.c: (gst_rmdemux_reset):
Don't leak stream index (#385292).
Original commit message from CVS:
Based on patch by: Roland Kay <roland.kay at ox compsoc net>
* ext/lame/gstlame.c: (gst_lame_init), (gst_lame_chain),
(gst_lame_setup):
* ext/lame/gstlame.h:
Fix leak (by calling lame_init_params() before lame_close()); handle
NULL return from lame_init() more gracefully. Fixes#385311.
Original commit message from CVS:
* gst/mpegstream/gstmpegparse.c: Use the GST_READ macro I meant
to in the previous checkin. see #385192. You can have your
cheese back now.
Original commit message from CVS:
* gst/mpegstream/gstmpegparse.c: Fix unaligned load that loads
from the dereferenced integer, not the pointer itself. Fixes
#385192.
I'm takin ur cheese!
Original commit message from CVS:
Based on patch by: Roland Kay <roland.kay at ox compsoc net>
* gst/realmedia/rmdemux.c: (gst_rmdemux_parse_mdpr):
For version 4 streams, read the extra codec data size from the
header instead of assuming it is always 16 (also read it from the
right position) (#384989). For version 4 and 5 streams, check that
the specified extra codec data size doesn't make us read beyond the
chunk boundary (#384989).
Original commit message from CVS:
Patch by: Sebastian Dröge <slomo@circular-chaos.org>
* ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_init),
(gst_mpeg2dec_reset), (gst_mpeg2dec_alloc_sized_buf),
(gst_mpeg2dec_alloc_buffer), (init_dummybuf), (handle_slice):
* ext/mpeg2dec/gstmpeg2dec.h:
Align buffers to a 16 byte boundary so the altivec optimisations
don't crash. Fixes#327350.
Original commit message from CVS:
* gst/asfdemux/gstasfdemux.c: (gst_asf_demux_add_audio_stream):
The availability of extra codec data isn't something that
warrants debug messages at WARNING level (see #376958).
Original commit message from CVS:
* gst/mpegstream/gstdvddemux.c: (gst_dvd_demux_base_init),
(gst_dvd_demux_class_init), (gst_dvd_demux_combine_flows),
(gst_dvd_demux_send_subbuffer):
* gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_class_init),
(gst_mpeg_demux_init_stream), (gst_mpeg_demux_parse_packet),
(gst_mpeg_demux_parse_pes), (gst_mpeg_demux_combine_flows),
(gst_mpeg_demux_send_subbuffer):
* gst/mpegstream/gstmpegdemux.h:
* gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_process_event),
(gst_mpeg_parse_chain):
Fix flow value combination; this fixes playbin/totem locking up if
a VobSub file is specified as subtitle file (#334322). Flow value
combination should only happen once we are fairly sure we've got all
pads that are available for now. Since there isn't a well-specified
time when this is the case in MPEG, we'll just assume this is the
case once there has been a certain number of packets for each
stream we've found so far.
Original commit message from CVS:
Patch by: Jan Arne Petersen <jpetersen at jpetersen dot org>
* ext/mpeg2dec/gstmpeg2dec.c: (handle_sequence), (handle_slice):
Simplify the framerate code and support more framerates. Fixes#361584.
Original commit message from CVS:
Patch by: Sebastian Dröge <slomo@circular-chaos.org>
* ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_init):
Fix minor memleak when creating pads from static pad templates (#369627).
* tests/check/Makefile.am:
* tests/check/elements/.cvsignore:
* tests/check/elements/mpeg2dec.c: (setup_mpeg2dec),
(cleanup_mpeg2dec), (GST_START_TEST), (mpeg2dec_suite), (main):
Add unit tests for mpeg2dec (#369627).
Original commit message from CVS:
* ext/lame/gstlame.c: (gst_lame_sink_event), (gst_lame_chain),
(gst_lame_change_state):
* ext/lame/gstlame.h:
Make lame timestamp flushed eos buffer by some additional timestamp
accounting. Fixes#374760.
Original commit message from CVS:
* gst/mpegaudioparse/gstmpegaudioparse.c:
(mp3_type_frame_length_from_header), (gst_mp3parse_reset),
(gst_mp3parse_init), (gst_mp3parse_dispose),
(gst_mp3parse_sink_event), (gst_mp3parse_chain), (head_check),
(gst_mp3parse_change_state):
* gst/mpegaudioparse/gstmpegaudioparse.h:
Make timestamp handling in mp3parse saner; now works for at least
simple cases.
Original commit message from CVS:
* gst/mpegaudioparse/Makefile.am:
* gst/mpegaudioparse/gstmpegaudioparse.c:
(mp3_type_frame_length_from_header), (gst_mp3parse_class_init),
(gst_mp3parse_reset), (gst_mp3parse_init), (gst_mp3parse_dispose),
(gst_mp3parse_sink_event), (gst_mp3parse_chain), (head_check),
(gst_mp3parse_change_state), (plugin_init):
* gst/mpegaudioparse/gstmpegaudioparse.h:
Bring mp3parse into the 21st century.
Use its own debug category, use gstadapter, format nicely to 80
columns, and fix incorrect handling of 32 kHz and less files.
Original commit message from CVS:
Patch by: Sebastian Droege <slomo at ubuntu dot com>
* ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_finalize),
(gst_mpeg2dec_alloc_buffer), (init_dummybuf), (handle_slice):
* ext/mpeg2dec/gstmpeg2dec.h:
libmpeg2 requires its output buffers to start at a 16byte aligned
address or the altivec optimizations will explode.
Original commit message from CVS:
* ext/dvdread/dvdreadsrc.c: (gst_dvd_read_src_read):
Use dsi_pack.dsi_gi.vobu_ea correctly, add some more debugging
information (fixes#340433).
Original commit message from CVS:
Patch by: Josep Torra Valles <josep at fluendo com>
* gst/iec958/ac3_padder.c: (ac3p_init):
* gst/mpegstream/gstmpegparse.c:
* gst/realmedia/rmdemux.c: (gst_rmdemux_parse__rmf),
(gst_rmdemux_parse_prop), (gst_rmdemux_parse_mdpr),
(gst_rmdemux_parse_indx), (gst_rmdemux_parse_indx_data),
(gst_rmdemux_parse_data), (gst_rmdemux_parse_cont),
(gst_rmdemux_parse_packet):
Misc. fixes for problems discovered by Forte (different return types
in function declaration and definition, pointer arithmetics with
void pointers). Fixes#362639.
Original commit message from CVS:
* ext/dvdread/dvdreadsrc.c: (gst_dvd_read_src_goto_title):
Don't announce audio or subtitle streams that aren't really present,
it makes dvddemux create pads that will never carry any data, which
is not good.
Original commit message from CVS:
* ext/lame/gstlame.c: (gst_lame_set_property):
Round up not allowed bitrates to the next higher allowed one
(Closes: #361140).
Original commit message from CVS:
* ext/lame/gstlame.c: (gst_lame_sink_setcaps),
(gst_lame_set_property), (gst_lame_get_property), (gst_lame_chain),
(plugin_init):
* po/POTFILES.in:
Add i18n magic to lame plugin. Throw decent error message when we
fail to setup the encoder (#361140, 361151); misc. minor clean-ups.
Original commit message from CVS:
* gst/realmedia/rdtdepay.c: (gst_rdt_depay_base_init),
(gst_rdt_depay_init), (gst_rdt_depay_setcaps),
(gst_rdt_depay_chain), (gst_rdt_depay_change_state):
Change caps to x-rdt, because it's not x-rtp.
* gst/realmedia/rmdemux.c: (gst_rmdemux_add_stream),
(gst_rmdemux_parse_mdpr), (gst_rmdemux_parse_packet),
(gst_rmdemux_plugin_init):
Activate pad before adding to the element.
Return the combined stream return values after pad_alloc.
Original commit message from CVS:
* ext/mpeg2dec/gstmpeg2dec.c: (handle_slice):
* ext/mpeg2dec/gstmpeg2dec.h:
Add some debugging to timestamp handling.
Make sure we don't convert invalid timestamps.
Original commit message from CVS:
* gst/asfdemux/gstasfdemux.c: (gst_asf_demux_sink_event),
(gst_asf_demux_setup_pad), (gst_asf_demux_process_segment):
* gst/mpegstream/gstdvddemux.c: (gst_dvd_demux_get_audio_stream),
(gst_dvd_demux_get_subpicture_stream):
* gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_get_video_stream),
(gst_mpeg_demux_get_audio_stream),
(gst_mpeg_demux_get_private_stream):
Active pads before adding them to the running element. Don't assert
on non-BYTE format newsegment events in asfdemux.
Original commit message from CVS:
* gst/dvdlpcmdec/gstdvdlpcmdec.c: (update_timestamps):
If an incoming timestamp is within one sample of our current
timestamp, then keep it. This prevents imprecision in the
PTS (which only has 90khz granularity) from affecting our stream.
Original commit message from CVS:
* gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_handle_src_query):
Reflow code so that compiler doesn't complain about possible use
of uninitialised variable any longer; but just in case, initialise
it anyway; also take object ref in query function and do peer pad
stuff in a more thread-safe way.
Original commit message from CVS:
* configure.ac:
As another attempt, synaesthesia can be enabled by passing
--with-plugins="synaesthesia" to configure
Original commit message from CVS:
* ext/mad/gstid3tag.c:
* gst/mpegstream/gstrfc2250enc.h:
* gst/synaesthesia/gstsynaesthesia.c:
More G_OBJECT macro fixing.
Original commit message from CVS:
Patch by: Yves Lefebvre <ivanohe at abacom dot com>
* ext/mpeg2dec/gstmpeg2dec.c: (init_dummybuf):
Fix initialisation dummy buffer, the offsets are relative to the start
of the buffers. Fixes#356004.
Original commit message from CVS:
* ext/dvdread/dvdreadsrc.c: (gst_dvd_read_src_read):
Add convert query (needed for later when we just operate in time
format and let the base source class handle all the seeking stuff).
Original commit message from CVS:
* gst/asfdemux/gstasfdemux.c:
(gst_asf_demux_get_gst_tag_from_tag_name),
(gst_asf_demux_process_ext_content_desc):
Erm, lets properly fix it. The only non-text tag that we support is
the track-number and that is an UINT. asfdemux was returning a GValue
initialized as INT. Further the Track and not the TrackNumber tag
(the latter is a string too).
Original commit message from CVS:
* gst/asfdemux/gstasfdemux.c:
(gst_asf_demux_get_gst_tag_from_tag_name),
(gst_asf_demux_process_ext_content_desc):
Skip tags that are unknown (was producing an uninialized GValue).
Original commit message from CVS:
* ext/a52dec/gsta52dec.c: (gst_a52dec_mode_get_type),
(gst_a52dec_class_init), (gst_a52dec_init), (gst_a52dec_channels),
(gst_a52dec_handle_frame), (gst_a52dec_change_state),
(gst_a52dec_set_property), (gst_a52dec_get_property):
* ext/a52dec/gsta52dec.h:
Patch from from Michal Benes <michal.benes@itonis.tv>:
Add two things to a52dec: configure the exact output format for ac3
decoding through properties, if desired.
By default, configure an output format preferred by downstream. Now
that audioconvert lists caps by preference, this means that a52dec
can do downmixing (iff required) rather than audioconvert, so it can
use the ac3 downmix levels from the bitstream.
Original commit message from CVS:
* ext/lame/Makefile.am:
* ext/mpeg2dec/Makefile.am:
* gst/dvdlpcmdec/Makefile.am:
* gst/dvdsub/Makefile.am:
* gst/mpegaudioparse/Makefile.am:
Add missing GST_LIBS to the link flags
Original commit message from CVS:
* gst/asfdemux/gstasfdemux.c: (gst_asf_demux_base_init),
(gst_asf_demux_add_audio_stream), (gst_asf_demux_add_video_stream):
Use static pad templates with ANY caps for the source pads for
simplicity and to avoid warnings when creating pads for unhandled
codec IDs (#351795).
Original commit message from CVS:
Patch by: Michal Benes <michal dot benes at itonis dot tv>
* ext/mad/gstmad.c: (gst_mad_chain):
Fix timestamping in mad by only activating a new timestamp when the
previous frame has been decoded. Fixes#350723.
Also clean up some of the non fatal warnings when the input buffer is
too small to decode a header.
Original commit message from CVS:
Patch by: Wim Taymans <wim at fluendo dot com>
* ext/a52dec/gsta52dec.c: (gst_a52dec_sink_event):
Instead of forwarding the event in the wrong format, unref it and set
a boolean that we still need to send it in the streaming thread.
Fixes#350554
Original commit message from CVS:
Patch by: Edward Hervey (edward at fluendo dot com)
* ext/dvdread/dvdreadsrc.c: (plugin_init):
Put debug category initialization before use of GST_DEBUG, in order
to remove a fatal warning. Fixes#350895
Original commit message from CVS:
* gst/dvdsub/gstdvdsubdec.c: (plugin_init):
Set rank to NONE for the time being until we make playbin handle
subtitle pictures again (dvdsubdec seems to be a bit shaky at
times when seeking, so it's probably better if it doesn't get
autoplugged for the time being).
Original commit message from CVS:
* gst/realmedia/rmdemux.c: (gst_rmdemux_add_stream),
(gst_rmdemux_parse_mdpr):
Handle audio streams with stream_version 3 properly; warn about
unknown stream versions; handle unknown fourccs a tad more
gracefully (setting bogus caps). Also, use GST_FOURCC_ARGS
with GST_FOURCC_FORMAT.
Original commit message from CVS:
* ext/dvdread/dvdreadsrc.c: (gst_dvd_read_src_goto_title):
Error out properly if this is an interactive DVD (fixes#345694).
Original commit message from CVS:
* ext/a52dec/gsta52dec.c: (gst_a52dec_chain):
When the first_access is 1 or 0, we should copy the timestamp from
the incoming buffer if there is one.
Original commit message from CVS:
* ext/a52dec/gsta52dec.c: (gst_a52dec_channels), (gst_a52dec_push),
(gst_a52dec_reneg), (gst_a52dec_handle_frame), (gst_a52dec_chain):
Use GST_ELEMENT_ERROR for error reporting; post errors in some
more places; remove superfluous newlines from debug statements.
Original commit message from CVS:
Patch by: Frédéric Riss <frederic.riss at gmail com>
* gst/dvdsub/gstdvdsubdec.c: (gst_send_subtitle_frame):
Don't set negative durations on outgoing buffers (#350044),
which happens when you use macros that got changed during
the last unstable cycle because they were thought not to
be used anywhere.
Original commit message from CVS:
* ext/dvdread/dvdreadsrc.c: (gst_dvd_read_src_stop),
(gst_dvd_read_src_goto_chapter),
(gst_dvd_read_src_get_chapter_starts),
(gst_dvd_read_src_goto_title), (gst_dvd_read_src_get_next_cell),
(gst_dvd_read_src_get_time_for_sector),
(gst_dvd_read_src_get_sector_from_time), (gst_dvd_read_src_read),
(gst_dvd_read_src_handle_seek_event), (gst_dvd_read_src_do_seek),
(gst_dvd_read_src_goto_sector):
* ext/dvdread/dvdreadsrc.h:
Add basic support for time-based seeking; set timestamps on
outgoing buffers if we have them; create table with
chapter to time mapping when opening a title; rename
gst_dvd_read_src_get_next_cell_for() to _get_next_cell() and
make it take an explicit pgc argument; fix up some debugging
messages so that title/chapter numbers are printed as starting
from 1 for easier readability.
Original commit message from CVS:
* gst/realmedia/Makefile.am:
* gst/realmedia/rmdemux.c: (gst_rmdemux_parse_mdpr),
(gst_rmdemux_parse_cont):
* gst/realmedia/rmutils.c: (gst_rm_utils_read_string8),
(gst_rm_utils_read_string16), (gst_rm_utils_read_tags):
* gst/realmedia/rmutils.h:
Factor out some code into rmutils.[ch]; when reading
strings, don't read beyond the available data; read
metadata strings correctly (string length is 16 bits
here, not just 8).
Original commit message from CVS:
* ext/dvdread/dvdreadsrc.c: (plugin_init):
* po/POTFILES.in:
Make custom error messages translatable.
* gst/asfdemux/gstasf.c: (plugin_init):
Remove setlocale() call, doesn't seem to be needed or recommended for
plugins, at least not according to gstreamer/docs/random/i18n.
Original commit message from CVS:
* gst/asfdemux/Makefile.am:
* gst/asfdemux/asfheaders.c:
* gst/asfdemux/asfheaders.h:
* gst/asfdemux/gstasf.c: (plugin_init):
* gst/asfdemux/gstasfdemux.c: (gst_asf_demux_process_object):
Error out when the stream is encrypted (rather than feeding
garbage to the decoders). Fixes#349025.
Original commit message from CVS:
* gst/realmedia/rmdemux.c: (gst_rmdemux_class_init),
(gst_rmdemux_init), (gst_rmdemux_chain), (gst_rmdemux_add_stream),
(gst_rmdemux_parse_mdpr), (gst_rmdemux_parse_data),
(gst_rmdemux_stream_clear_cached_subpackets),
(gst_rmdemux_descramble_cook_audio),
(gst_rmdemux_descramble_dnet_audio),
(gst_rmdemux_handle_scrambled_packet), (gst_rmdemux_parse_packet):
Descramble cook audio streams before sending them to the
decoder. Fixes#347292.
Also miscellaneous clean-ups and log-level changes.
Original commit message from CVS:
2006-07-26 Zaheer Abbas Merali <zaheerabbas at merali dot org>
* ext/lame/gstlame.c: (gst_lame_setup):
Fix lame putting lots of 0's at start of mp3. Fixes bug #348786.
Original commit message from CVS:
* gst/asfdemux/gstasfdemux.c:
(gst_asf_demux_get_ext_stream_props_for_stream),
(gst_asf_demux_add_audio_stream), (gst_asf_demux_change_state):
Find language codes for audio streams if they are available.
Original commit message from CVS:
* gst/asfdemux/asfheaders.h:
* gst/asfdemux/gstasfdemux.c: (gst_asf_demux_get_obj_stream),
(gst_asf_demux_process_stream),
(gst_asf_demux_process_language_list),
(gst_asf_demux_process_ext_stream_props),
(gst_asf_demux_process_queued_extended_stream_objects),
(gst_asf_demux_process_object), (gst_asf_demux_change_state):
* gst/asfdemux/gstasfdemux.h:
Parse extended stream properties objects and stream objects
hidden inside them (but delay creation of the appropriate
pads until after all the 'normal' stream objects have been
dealt with) (#343763). Also parse language list object.
Original commit message from CVS:
* gst/asfdemux/gstasfdemux.c: (gst_asf_demux_process_chunk):
Skip chunks for unknown streams properly. Fixes broken sound
and/or video for files that have additional streams that
we don't recognise yet (e.g. if they are embedded in extended
stream properties). Partly fixes#343763.
Original commit message from CVS:
* gst/asfdemux/asfheaders.c:
* gst/asfdemux/asfheaders.h:
* gst/asfdemux/gstasfdemux.c: (gst_asf_demux_identify_guid),
(gst_asf_demux_process_header), (gst_asf_demux_push_obj),
(gst_asf_demux_pop_obj), (gst_asf_demux_process_object),
(gst_asf_demux_change_state):
* gst/asfdemux/gstasfdemux.h:
Add some more GUIDs and make debug log more readable
and easier to follow when parsing the headers.
Original commit message from CVS:
* ext/dvdread/dvdreadsrc.c: (gst_dvd_read_src_init),
(gst_dvd_read_src_is_seekable), (gst_dvd_read_src_class_init),
(gst_dvd_read_src_stop), (gst_dvd_read_src_goto_title),
(gst_dvd_read_src_create), (gst_dvd_read_src_handle_seek_event),
(gst_dvd_read_src_do_seek), (gst_dvd_read_src_src_event):
* ext/dvdread/dvdreadsrc.h:
Rewrite seeking code and make seeking in DVDs work (#337834).
Original commit message from CVS:
* gst/asfdemux/gstasfdemux.c: (gst_asf_demux_setup_pad),
(gst_asf_demux_add_audio_stream), (gst_asf_demux_add_video_stream),
(gst_asf_demux_push_buffer):
* gst/asfdemux/gstasfdemux.h:
Handle unknown codec IDs/fourccs properly (#345879); send tag
events after newsegment event; fix use of GST_FOURCC_FORMAT
macro.
Original commit message from CVS:
* ext/a52dec/gsta52dec.c: (plugin_init):
Call the channel positions get_type() method in plugin_init
to ensure that it isn't simultaneously called later from
multiple threads.
Original commit message from CVS:
* gst/mpegstream/gstmpegpacketize.c:
(gst_mpeg_packetize_flush_cache), (gst_mpeg_packetize_put):
* gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_chain):
Also flush packetizer cache when we get a buffer that has the
DISCONT flag set; update current byte position from buffer
offset after a flush.
Original commit message from CVS:
* gst/mpegstream/gstmpegpacketize.c: (gst_mpeg_packetize_new),
(gst_mpeg_packetize_flush_cache), (gst_mpeg_packetize_destroy),
(gst_mpeg_packetize_read):
* gst/mpegstream/gstmpegpacketize.h:
* gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_process_event),
(gst_mpeg_parse_change_state):
Flush packetizer cache when we get a FLUSH_STOP event;
remove unused source pad member from packetizer; add debug
category for packetizer.
Original commit message from CVS:
* ext/a52dec/gsta52dec.c: (gst_a52dec_channels), (plugin_init):
Treat dual-mono as stereo. It should really be output on 2 separate
pads, but isn't for now.
Original commit message from CVS:
* ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_negotiate_format):
Assume pixel-aspect-ratio of 4:3 if libmpeg2dec doesn't give us
any PAR whatsoever (rather than using 0/0, which will lead to
an abort later on). Fixes#345184.
Original commit message from CVS:
Patch by: Michael Dominic K. < mdk at mdk org pl>
* ext/mad/gstmad.c: (gst_mad_chain):
Send newsegment event before calling
gst_pad_alloc_buffer_and_set_caps(), makes mad behave better
in connection with pad blocking (#342594). While we're at it,
do some minor clean-ups.
Original commit message from CVS:
* ext/a52dec/Makefile.am:
... and then he said "When you go and fix the build you
better make sure you have some spare backslashes in your
pocket".
Original commit message from CVS:
* ext/sidplay/gstsiddec.cc:
Fix copyright, email addresses and descriptions.
Use saner defaults for arguments. Fixes#344667.
constify some stuff.
Fix memleaks.
Add tags.
Fix negotiation to do mono/44100 by default.
Post error messages.
Use _scale_int where possible.
Original commit message from CVS:
* tests/check/elements/amrnbenc.c: (push_data):
Init memory before feeding it to the encoder to make
the valgrind test succeed.
Original commit message from CVS:
* ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_finalize),
(gst_mpeg2dec_reset), (clear_buffers), (handle_picture),
(gst_mpeg2dec_sink_convert), (gst_mpeg2dec_src_convert),
(gst_mpeg2dec_change_state):
* ext/mpeg2dec/gstmpeg2dec.h:
Simplify and don't leak our buffer pool.
Use _scale_int.
Remove unfixed bug number from previous ChangeLog entry.
Original commit message from CVS:
* ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_base_init),
(gst_mpeg2dec_class_init), (gst_mpeg2dec_init),
(gst_mpeg2dec_finalize), (gst_mpeg2dec_reset),
(gst_mpeg2dec_qos_reset), (gst_mpeg2dec_alloc_buffer),
(gst_mpeg2dec_negotiate_format), (init_dummybuf),
(handle_sequence), (handle_picture), (handle_slice),
(gst_mpeg2dec_chain), (gst_mpeg2dec_sink_event),
(gst_mpeg2dec_src_event), (gst_mpeg2dec_change_state):
* ext/mpeg2dec/gstmpeg2dec.h:
Fix padtemplate as we can now do fractional framerates.
Small cleanups.
Use GstSegment.
Add simple frame dropping QoS.
Precalc buffer output sizes and UV offsets.
Always give libmpeg2 a valid fbuf when it wants one.
don't trust libmpeg to discard our buffers but manage it
ourselves.
Fixes#343627, #327350, #335288
Original commit message from CVS:
* win32/MANIFEST:
Add a manifest for futures ugly win32 releases.
* gst/iec958/ac3iec.c: (ac3iec_chain_raw):
Move bufcaps declaration at the begining of the instructions
block.
Original commit message from CVS:
* README:
Replace current README (containing the release notes from
some 0.9.x version) with a proper README taken from the core.
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)