Original commit message from CVS:
* gst/wavparse/gstwavparse.c: (gst_wavparse_reset),
(gst_wavparse_other), (gst_wavparse_perform_seek),
(gst_wavparse_stream_headers), (gst_wavparse_stream_data),
(gst_wavparse_loop), (gst_wavparse_pad_convert),
(gst_wavparse_srcpad_event), (gst_wavparse_sink_activate_pull):
* gst/wavparse/gstwavparse.h:
Use GstSegment to implement more seeking features.
Original commit message from CVS:
* gst/rtsp/rtspconnection.c:
Add <netinet/in.h> include and move <arpa/inet.h> include
to make things work on OpenBSD as well (fixes#323717;
patch by: Benjamin Pineau)
Original commit message from CVS:
2005-12-14 Philippe Khalaf <burger@speedy.org>
* gst-plugins-good/gst/rtp/gstasteriskh263.c:
* gst-plugins-good/gst/rtp/gstrtpamrdepay.c:
* gst-plugins-good/gst/rtp/gstrtpamrpay.c:
* gst-plugins-good/gst/rtp/gstrtpg711depay.c:
* gst-plugins-good/gst/rtp/gstrtpg711depay.c:
* gst-plugins-good/gst/rtp/gstrtpgsmdepay.c:
* gst-plugins-good/gst/rtp/gstrtph263pay.c:
* gst-plugins-good/gst/rtp/gstrtph263pdepay.c:
* gst-plugins-good/gst/rtp/gstrtph263ppay.c:
* gst-plugins-good/gst/rtp/gstrtpmp4vdepay.c:
* gst-plugins-good/gst/rtp/gstrtpmp4vpay.c:
* gst-plugins-good/gst/rtp/gstrtpmpadepay.c:
* gst-plugins-good/gst/rtp/gstrtpmpapay.c:
* gst-plugins-good/gst/rtp/README:
Fixed payload range in payloder caps. Removed payload range completly from
depayloaders as they don't require payload type in their caps. In effect,
there isn't any specific payload type for any given codec, only suggestions.
Fixes bug #324011.
Original commit message from CVS:
2005-12-13 Julien MOUTTE <julien@moutte.net>
* gst/videomixer/videomixer.c: (gst_videomixer_init),
(gst_videomixer_fill_queues), (gst_videomixer_blend_buffers),
(gst_videomixer_collected): Code cleanup and re-enabling
queued time validity check for correct EOS handling.
Original commit message from CVS:
* gst/flx/gstflxdec.c: (gst_flxdec_chain):
If the speed of the file is null in the header, set the frame_time to the default
setting of GST_SECOND / 70. Which is the default frame_delay for .fli files as
stated in this document : http://www.compuphase.com/flic.htm
Would be nice to have the time conversion done properly too
(duration = flxh->frames * flxdec->frame_time)
Original commit message from CVS:
2005-12-12 Julien MOUTTE <julien@moutte.net>
* docs/plugins/Makefile.am:
* docs/plugins/gst-plugins-good-plugins-docs.sgml:
* docs/plugins/gst-plugins-good-plugins-sections.txt:
* docs/plugins/gst-plugins-good-plugins.hierarchy:
* gst/videomixer/videomixer.c:
(gst_videomixer_pad_sink_setcaps),
(gst_videomixer_getcaps), (gst_videomixer_fill_queues),
(gst_videomixer_update_queues), (gst_videomixer_collected):
Adding
documentation for videomixer on my way with a funny sample
pipeline.
Original commit message from CVS:
* gst/auparse/gstauparse.c: (gst_au_parse_base_init),
(gst_au_parse_class_init), (gst_au_parse_init),
(gst_au_parse_dispose), (gst_au_parse_chain),
(gst_au_parse_change_state), (plugin_init):
* gst/auparse/gstauparse.h:
Use gst_object_unref() for GstObjects instead of
g_object_unref() and fix a mem leak in a debug
statement; while we're at it, also borgify, use
boilerplate macros and clean up a little bit.
Original commit message from CVS:
* gst/goom/gstgoom.c:
* gst/level/level-example.c: (main):
* gst/smoothwave/demo-osssrc.c: (main):
Use audiotestsrc instead of sinesrc (#323798).
Original commit message from CVS:
* gst/debug/efence.c: (gst_efence_init), (gst_efence_chain),
(gst_fenced_buffer_copy):
Make sure GST_BUFFER_DATA is set on fenced copied buffers; fix
GST_DEBUG crasher where GST_TIME_FORMAT was not used in
conjunction with GST_TIME_ARGS. Also, don't leak pad templates
and use GST_DEBUG_FUNCPTR for pad functions.
Original commit message from CVS:
* ext/faad/gstfaad.c: (gst_faad_chanpos_to_gst),
(gst_faad_update_caps):
Assume that an unknown channel mapping with 2 channels
is stereo and play it that way instead of erroring.
* gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_header),
(gst_qtdemux_add_stream), (qtdemux_parse_trak):
Handle e.g. jpeg streams with 0 duration frames as having 0 framerate.
Debug fixes. Some 64 bit variable fixes
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_header),
(gst_qtdemux_add_stream):
Memleak fixes.
Send out EOS for valid reasons (couldn't pull_range() from upstream
for example).
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_process_next_entry):
Useless check now we're setting the current entry correctly.
Original commit message from CVS:
* ext/faad/gstfaad.c: (gst_faad_srcgetcaps):
Handle gracefully the consequence of "Maximum number of scalefactor
bands exceeded", which results in 0 channels with samplerates of 0.
* gst/qtdemux/qtdemux.c: (gst_qtdemux_change_state):
Do upward transitions, then call parent state_change, then do
downward transitions.
Original commit message from CVS:
* gst/matroska/matroska-mux.c:
(gst_matroska_mux_video_pad_setcaps):
Look for pixel-aspect-ratio in caps, not pixel_width and
pixel_height (Fixes: #322645)
Original commit message from CVS:
* gst/matroska/matroska-mux.c:
(gst_matroska_mux_video_pad_setcaps):
From Michal Benes:
frame duration should be GST_SECOND / framerate, not
GST_SECOND * framerate. (Fixes: #322643)
Original commit message from CVS:
* configure.ac:
fix up GST_PLUGIN_LDFLAGS
* gst/rtsp/rtspconnection.c:
fix includes (see #317043)
* gst/videofilter/Makefile.am:
stop installing this library
Original commit message from CVS:
* docs/plugins/Makefile.am:
* docs/plugins/gst-plugins-good-plugins-docs.sgml:
* docs/plugins/gst-plugins-good-plugins-sections.txt:
* gst/autodetect/gstautoaudiosink.c:
(gst_auto_audio_sink_base_init):
* gst/autodetect/gstautovideosink.c:
(gst_auto_video_sink_base_init),
(gst_auto_video_sink_factory_filter):
documenting auto*sink
using strstr for the video sink lookup, class field is not ordered
update other plugins
Original commit message from CVS:
2005-11-24 Julien MOUTTE <julien@moutte.net>
* gst/effectv/gstquark.c: (gst_quarktv_set_caps),
(gst_quarktv_get_unit_size), (gst_quarktv_transform),
(gst_quarktv_planetable_clear), (gst_quarktv_change_state),
(gst_quarktv_base_init), (gst_quarktv_class_init),
(gst_quarktv_init): Flush the planes list on reverse caps
negotiation. This was crashing because of differently sized
buffers.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_header),
(gst_qtdemux_add_stream), (qtdemux_dump_mvhd),
(qtdemux_parse_trak):
Convert to fractional framerates
Original commit message from CVS:
Fix for #321430: unresolved symbols due to incorrect linkage on inline functions
in goom.
Does not, however, fix the general crackheadedness of goom (global variables,
oh my!); this should be moved to -bad.
Original commit message from CVS:
* gst/autodetect/gstautoaudiosink.c:
(gst_auto_audio_sink_find_best), (gst_auto_audio_sink_detect):
* gst/autodetect/gstautovideosink.c:
(gst_auto_video_sink_find_best), (gst_auto_video_sink_detect):
Use gst_plugin_feature_list_free() to free feature list and
in the case of autovideosink free the list at all. Also
miscellaneous cosmetic fixes.
Original commit message from CVS:
* gst/cutter/gstcutter.c: (gst_cutter_chain),
(gst_cutter_set_property), (gst_cutter_get_caps):
copy calculation code from level; remove use of some audio
functions
Original commit message from CVS:
* ext/raw1394/gstdv1394src.c: (gst_dv1394src_class_init),
(gst_dv1394src_init), (gst_dv1394src_dispose),
(gst_dv1394src_set_property), (gst_dv1394src_discover_avc_node),
(gst_dv1394src_uri_set_uri):
* gst/udp/gstudpsrc.c: (gst_udpsrc_class_init),
(gst_udpsrc_update_uri), (gst_udpsrc_set_uri),
(gst_udpsrc_set_property), (gst_udpsrc_uri_get_uri):
URIHandler interface and element properties are now properly
synchronized for DV1394src and UDPSrc
Original commit message from CVS:
* gst/wavparse/gstwavparse.c: (gst_wavparse_init),
(gst_wavparse_create_sourcepad), (gst_wavparse_sink_activate):
Use GST_DEBUG_FUNCPTR; add debug message in pad activate function.
Original commit message from CVS:
* gst/auparse/Makefile.am:
* gst/auparse/gstauparse.c: (gst_auparse_class_init),
(gst_auparse_init), (gst_auparse_dispose), (gst_auparse_chain),
(gst_auparse_change_state):
* gst/auparse/gstauparse.h:
Partially fix#161712. playbin still doesn't work on these files,
(on the bug report, Andy says we aren't typefinding it for some
reason?) but at least auparse isn't totally busted like it was before.
Original commit message from CVS:
* gst/matroska/matroska-demux.c: (gst_matroska_demux_sync_streams):
Filler events are gone for now, comment out section generating
them.
Original commit message from CVS:
2005-11-20 Julien MOUTTE <julien@moutte.net>
* gst/matroska/matroska-mux.c: (gst_matroska_mux_start): Replace
GST_PAD_IS_USABLE by something approaching it.
Original commit message from CVS:
2005-11-20 Julien MOUTTE <julien@moutte.net>
* gst/matroska/matroska-mux.c: (gst_matroska_mux_start): Fix for
API changes.
* gst/wavenc/gstwavenc.c: (gst_wavenc_chain): Fix for API
changes,
but also fix the code that was not checking return values from
pad_push neither using pad_alloc_buffer.
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:
* gst/avi/gstavidemux.c: (swap_line), (gst_avi_demux_invert),
(gst_avi_demux_process_next_entry), (gst_avi_demux_stream_data):
Invert DIB images again (see #132341).
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_reset),
(gst_avi_demux_src_convert), (gst_avi_demux_handle_src_event),
(gst_avi_demux_stream_header), (gst_avi_demux_handle_seek),
(gst_avi_demux_process_next_entry), (gst_avi_demux_stream_data),
(gst_avi_demux_loop):
* gst/avi/gstavidemux.h:
Yeah, implement proper seeking. Exact seeking and segment seeking.
Still need to do some checks for segment_stop.
Original commit message from CVS:
Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
* gst/qtdemux/qtdemux.c: (qtdemux_parse_udta):
Add support for custom genre tags.
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/avi/gstavidemux.c: (gst_avi_demux_parse_stream),
(gst_avi_demux_process_next_entry), (gst_avi_demux_stream_data),
(gst_avi_demux_loop):
No need to take the STREAM_LOCK in the loop function. Improve
some debug messages. Don't leak pad names in debug messages.
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:
* gst/wavenc/gstwavenc.c: (gst_wavenc_stop_file),
(gst_wavenc_init), (gst_wavenc_event), (gst_wavenc_chain):
Added proper event handlind,
made downstream newsegment event use GST_FORMAT_BYTES (otherwise it's
ignored),
and don't set a duration of 0 for buffers otherwise they are discarded
by GstBaseSink.
GstWavEnc needs some serious loving, after going through the code I'm
really wondering how this can stay in -good ...
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:
* gst/autodetect/gstautoaudiosink.c:
(gst_auto_audio_sink_class_init),
(gst_auto_audio_sink_change_state):
* gst/autodetect/gstautovideosink.c:
(gst_auto_video_sink_class_init),
(gst_auto_video_sink_change_state):
Fix state change function and use GST_DEBUG_FUNCPTR in
class_init.
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:
Payloader now sets some default caps on the srcpad if caps on the sinkpad are never set. This is important for the g711 to work with burger's rtpbin element.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_class_init),
(qtdemux_parse_tree):
Remove 'got-redirect' signal and post element message
on the bus instead.
Original commit message from CVS:
2005-10-27 Julien MOUTTE <julien@moutte.net>
* gst/videobox/gstvideobox.c: (gst_video_box_class_init),
(gst_video_box_transform_caps), (gst_video_box_set_caps),
(gst_video_box_get_unit_size), (gst_video_box_copy_plane_i420),
(gst_video_box_i420), (gst_video_box_ayuv): Use liboil for
I420 rendering as well, doesn't bring much for my platform.
Might help on some other platforms.
Original commit message from CVS:
2005-10-26 Julien MOUTTE <julien@moutte.net>
* gst/videobox/Makefile.am: Use liboil.
* gst/videobox/gstvideobox.c: (gst_video_box_class_init),
(gst_video_box_set_property), (gst_video_box_transform_caps),
(gst_video_box_set_caps), (gst_video_box_get_unit_size),
(gst_video_box_ayuv): Lot of optimization in AYUV rendering
using liboil. Will dot the same to I420 border generation
tomorrow.
Original commit message from CVS:
2005-10-26 Julien MOUTTE <julien@moutte.net>
* gst/videobox/gstvideobox.c: (gst_video_box_class_init),
(gst_video_box_transform_caps), (gst_video_box_get_unit_size),
(gst_video_box_ayuv): Fix the stride issue when boxing to AYUV.
Original commit message from CVS:
2005-10-26 Julien MOUTTE <julien@moutte.net>
* gst/videomixer/videomixer.c:
(gst_videomixer_pad_set_property),
(gst_videomixer_pad_sink_setcaps), (gst_videomixer_getcaps):
Use gst_pad_get_parent and drop the ref that was added through
that call.
Original commit message from CVS:
2005-10-24 Julien MOUTTE <julien@moutte.net>
* gst/videomixer/videomixer.c: Don't restrict video geometry
from 16 to 4096.
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:
* ext/dv/gstdvdemux.c: (gst_dvdemux_demux_frame):
* gst/avi/gstavidemux.c: (gst_avi_demux_get_src_query_types),
(gst_avi_demux_handle_seek):
Set correct stream_time in newsegment event.
avi can also handle a duration query now.
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:
* gst/wavparse/gstwavparse.c: (gst_wavparse_handle_seek),
(gst_wavparse_stream_headers), (gst_wavparse_stream_data),
(gst_wavparse_pad_convert), (gst_wavparse_srcpad_event):
Set stream time correctly in newsegment.
Original commit message from CVS:
* gst/goom/filters.c:
* gst/goom/graphic.h:
* gst/goom/lines.c:
Make inline functions either 'static inline' or 'extern inline',
otherwise the Forte compiler apparently won't inline them (#317300).
Original commit message from CVS:
2005-10-19 Julien MOUTTE <julien@moutte.net>
* ext/libpng/gstpngdec.c: (gst_pngdec_class_init),
(gst_pngdec_init), (user_error_fn), (user_warning_fn),
(user_info_callback), (user_endrow_callback),
(user_end_callback),
(user_read_data), (gst_pngdec_caps_create_and_set),
(gst_pngdec_task), (gst_pngdec_chain), (gst_pngdec_sink_event),
(gst_pngdec_libpng_clear), (gst_pngdec_libpng_init),
(gst_pngdec_change_state), (gst_pngdec_sink_activate_push),
(gst_pngdec_sink_activate_pull), (gst_pngdec_sink_activate):
* ext/libpng/gstpngdec.h: Complete rewrite of pngdec. It's now
very nice and handle push/pull based model. if you have filesrc
connected to it, it will do random access to load the png file.
If you have a network source that can't do _getrange, it does
progressive loading through the chain function.
* gst/alpha/gstalphacolor.c: (gst_alpha_color_transform_caps),
(transform_rgb), (transform_bgr): Fix caps negotiation correctly
thanks to Master Wim Taymans ;-)
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/wavparse/gstwavparse.c: (gst_wavparse_handle_seek),
(gst_wavparse_stream_headers), (gst_wavparse_stream_data),
(gst_wavparse_pad_convert), (gst_wavparse_srcpad_event):
Fix for segment-start/stop API change.
Original commit message from CVS:
2005-10-17 Julien MOUTTE <julien@moutte.net>
* gst/videobox/gstvideobox.c: (gst_video_box_transform_caps),
(gst_video_box_get_unit_size): Fix caps nego some more to get
AYUV
output declared in transform_caps.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_header):
* gst/tta/gstttaparse.c: (gst_tta_parse_src_event),
(gst_tta_parse_parse_header):
newsegment API update.
Original commit message from CVS:
* gst/autodetect/gstautoaudiosink.c: (gst_auto_audio_sink_reset),
(gst_auto_audio_sink_find_best), (gst_auto_audio_sink_detect):
* gst/autodetect/gstautovideosink.c: (gst_auto_video_sink_reset),
(gst_auto_video_sink_find_best), (gst_auto_video_sink_detect):
Set state of elements to NULL before removing from bins.
Set state of test element to NULL if we failed to move it to READY
Original commit message from CVS:
* gst/rtp/gstrtpamrenc.c: (gst_rtpamrenc_setcaps):
* gst/rtp/gstrtpgsmparse.c:
* gst/rtp/gstrtph263penc.c:
* gst/rtp/gstrtpmp4venc.c: (gst_rtpmp4venc_class_init),
(gst_rtpmp4venc_parse_data), (gst_rtpmp4venc_handle_buffer),
(gst_rtpmp4venc_set_property):
* gst/rtp/gstrtpmpaenc.c: (gst_rtpmpaenc_handle_buffer):
Various class and caps fixes from Andre Magalhaes (andrunko)
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_base_init),
(gst_avi_demux_class_init), (gst_avi_demux_parse_stream),
(gst_avi_demux_change_state):
Don't crash when encountering a stream with an unknown fourcc or
codec id. Instead, create a pad of type video/x-avi-unknown or
audio/x-avi-unknown, which as a side-effect also results in less
confusing error messages in players ('no decoder' vs. 'no streams');
minor fixes to state change function and class_init function.
Original commit message from CVS:
* gst/autodetect/gstautoaudiosink.c: (gst_auto_audio_sink_init):
* gst/autodetect/gstautovideosink.c: (gst_auto_video_sink_init):
These are sinks.
Original commit message from CVS:
* check/elements/level.c: (GST_START_TEST):
fix test for new GstClockTime use
* gst/level/gstlevel.c: (gst_level_init), (gst_level_set_caps),
(gst_level_transform_ip):
* gst/level/gstlevel.h:
fix up the decay peak, ensuring the decay peak is never lower
than the peak for that interval
Original commit message from CVS:
* gst/rtp/TODO:
* gst/rtp/gstrtpdec.c: (gst_rtpdec_getcaps):
* gst/rtp/gstrtpmp4venc.c: (gst_rtpmp4venc_class_init),
(gst_rtpmp4venc_parse_data), (gst_rtpmp4venc_handle_buffer),
(gst_rtpmp4venc_set_property):
* gst/rtp/gstrtpmp4venc.h:
* gst/rtp/gstrtpmpaenc.c: (gst_rtpmpaenc_handle_buffer):
* gst/rtp/gstrtpmpaenc.h:
Use is_filled to both check MTU and max-ptime of base class.
Original commit message from CVS:
* gst/rtp/gstrtpmp4venc.c: (gst_rtpmp4venc_class_init),
(gst_rtpmp4venc_parse_data), (gst_rtpmp4venc_handle_buffer),
(gst_rtpmp4venc_set_property):
Don't fragment packets with multiple frames.
Original commit message from CVS:
* gst/rtp/TODO:
* gst/rtp/gstrtpmp4vdec.c: (gst_rtpmp4vdec_setcaps):
* gst/rtp/gstrtpmp4venc.c: (gst_rtpmp4venc_class_init),
(gst_rtpmp4venc_init), (gst_rtpmp4venc_parse_data),
(gst_rtpmp4venc_handle_buffer), (gst_rtpmp4venc_set_property),
(gst_rtpmp4venc_get_property):
* gst/rtp/gstrtpmp4venc.h:
Remove g_print.
Update TODO
Make payload encoder a bit smarter and more correct with
timestamps.
Added option in payloader to include config string in-band.
Original commit message from CVS:
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_parse_rtpmap),
(gst_rtspsrc_media_to_caps), (gst_rtspsrc_stream_setup_rtp),
(gst_rtspsrc_stream_configure_transport), (gst_rtspsrc_send),
(gst_rtspsrc_change_state):
More SDP parsing and caps setting.
Do NO_PREROLL differently.
add pads only after negotiated.
* gst/udp/gstudpsrc.c: (gst_udpsrc_class_init),
(gst_udpsrc_getcaps):
Implement the getcaps function.
Original commit message from CVS:
* gst/rtp/README:
Update README
* gst/rtp/gstrtpamrdec.c: (gst_rtpamrdec_sink_setcaps):
Make extra params as strings.
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_set_state),
(gst_rtspsrc_parse_rtpmap), (gst_rtspsrc_media_to_caps),
(gst_rtspsrc_stream_setup_rtp), (gst_rtspsrc_send):
Make state change return NO_PREROLL as this is a live
source.
* gst/udp/gstudpsrc.c: (gst_udpsrc_set_property):
Don't unref old caps when NULL.
Original commit message from CVS:
* gst/level/level-example.c: (main):
Fix for new bus API.
* gst/udp/gstudpsrc.c: (gst_udpsrc_set_property):
Set caps on pads.
Original commit message from CVS:
Updates to payloader/depayloaders, make payloaders use
the base classes.
Updated README with suggested RTP caps and how to convert
to/from SDP.
Added config descriptor in mp4v payloader.
Original commit message from CVS:
2005-09-15 Andy Wingo <wingo@pobox.com>
* gst/autodetect/gstautoaudiosink.c (gst_auto_audio_sink_find_best):
* gst/autodetect/gstautovideosink.c
(gst_auto_video_sink_find_best): Update for new registry API.
Original commit message from CVS:
* common/c-to-xml.py:
* common/gtk-doc-plugins.mak:
a simple py script to generate valid xml from a C example
probably also need to strip an MIT license when we decide
* docs/plugins/Makefile.am:
* gst/level/Makefile.am:
* gst/level/gstlevel.c: (gst_level_init):
* gst/level/level-example.c: (message_handler), (main):
add an example to level that will show up in the docs
* gst/rtp/TODO:
add a note for the future
Original commit message from CVS:
* gst/wavenc/gstwavenc.c: (gst_wavenc_class_init):
Actually define the debug object being used in wavenc. Fixes#316205
Original commit message from CVS:
Link smpte plugin against GST_BASE_LIBS, to get libgstbase; needed to
build on win32 as this plugin uses collectpads (bug 316204)
Original commit message from CVS:
* gst-plugins-good.spec.in:
spec file fixes
* gst/udp/gstmultiudpsink.c: (gst_multiudpsink_class_init),
(gst_multiudpsink_render), (gst_multiudpsink_add),
(gst_multiudpsink_clear):
it actually helps to actually stream if we hook up the
add signal to an actual implementation
* gst/udp/gstudpsrc.c: (gst_udpsrc_start):
some debugging
Original commit message from CVS:
Andrewio Patrickoforus Wingonymus - 5 additional tests for your sins
Add a regression test for level and fix a casting bug that made the additional
channels turn out wrong
Original commit message from CVS:
2005-08-28 Andy Wingo <wingo@pobox.com>
* Updates for two-arg init from GST_BOILERPLATE.
* ext/ladspa/gstsignalprocessor.c (gst_signal_processor_init): Use
the second arg for the class, because G_OBJECT_GET_CLASS (self)
returns the wrong thing.
(gst_signal_processor_add_pad_from_template): Make pads of the
right type.
* ext/ladspa/gstladspa.c (gst_ladspa_class_get_param_spec): Make
writable param specs G_PARAM_CONSTRUCT so default values work.
(gst_ladspa_init): Use the second arg for the class.
Original commit message from CVS:
* gst/rtp/gstrtph263penc.c: (gst_rtph263penc_class_init),
(gst_rtph263penc_flush), (gst_rtph263penc_chain),
(gst_rtph263penc_set_property), (gst_rtph263penc_get_property):
* gst/rtp/gstrtph263penc.h:
Added configurable pt and ssrc, to be merged in the caps or
a base class...
Original commit message from CVS:
* gst/rtp/gstrtph263pdec.c: (gst_rtph263pdec_init),
(gst_rtph263pdec_chain):
* gst/rtp/gstrtph263penc.c: (gst_rtph263penc_class_init),
(gst_rtph263penc_flush), (gst_rtph263penc_chain):
Some cleanups in the h263p (de)payloaders.
Original commit message from CVS:
* ext/amrnb/amrnbdec.c:
* ext/amrnb/amrnbenc.c: (gst_amrnbenc_setcaps):
* ext/amrnb/amrnbparse.c:
Update caps with audio/AMR.
* gst/rtp/gstrtpamrdec.c: (gst_rtpamrdec_init),
(gst_rtpamrdec_sink_setcaps), (gst_rtpamrdec_chain),
(gst_rtpamrdec_change_state):
* gst/rtp/gstrtpamrdec.h:
* gst/rtp/gstrtpamrenc.c: (gst_rtpamrenc_class_init),
(gst_rtpamrenc_init), (gst_rtpamrenc_chain):
Dont set FT headers twice, it was already in the encoded
bitstream.
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_send), (gst_rtspsrc_open),
(gst_rtspsrc_close), (gst_rtspsrc_play):
* gst/rtsp/rtspconnection.c: (parse_line):
Cleanups
* gst/udp/gstudpsrc.c: (gst_udpsrc_class_init),
(gst_udpsrc_create), (gst_udpsrc_set_property),
(gst_udpsrc_get_property):
* gst/udp/gstudpsrc.h:
Added caps property, we need this soon to type the buffers.
Original commit message from CVS:
* gst/rtp/gstrtpamrdec.c: (gst_rtpamrdec_init),
(gst_rtpamrdec_chain):
Fix up amr depayloader a bit.
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_send), (gst_rtspsrc_open),
(gst_rtspsrc_close), (gst_rtspsrc_play):
Look for options result in Public and Allow header fields..
spec says Allow but some servers return Public...
Original commit message from CVS:
* gst/rtp/gstrtpamrenc.c: (gst_rtpamrenc_class_init),
(gst_rtpamrenc_init), (gst_rtpamrenc_chain),
(gst_rtpamrenc_set_property), (gst_rtpamrenc_get_property):
* gst/rtp/gstrtpamrenc.h:
Added payload_type and ssrc properties to the payloader.
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_send), (gst_rtspsrc_open),
(gst_rtspsrc_close), (gst_rtspsrc_play):
Options need to be stripped and are in the Public header field.
* gst/rtsp/rtspurl.c: (rtsp_url_parse):
Fix url / parsing...
Original commit message from CVS:
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_send), (gst_rtspsrc_open),
(gst_rtspsrc_close), (gst_rtspsrc_play), (gst_rtspsrc_pause),
(gst_rtspsrc_change_state):
* gst/rtsp/gstrtspsrc.h:
* gst/rtsp/rtspdefs.c: (rtsp_method_as_text), (rtsp_find_method):
* gst/rtsp/rtspdefs.h:
* gst/rtsp/rtsptransport.c: (rtsp_transport_parse):
Handle RTSP defaults better.
Issue OPTIONS request to figure out what we are allowed to do.
Make the methods a bitfield so we can easily collect supported
options.
Fix rtsp_find_method.
Do proper RTSP connection shutdown.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_parse_stream),
(gst_avi_demux_stream_header):
* gst/qtdemux/qtdemux.c: (gst_qtdemux_change_state),
(gst_qtdemux_add_stream), (qtdemux_parse_tree):
Uncomment metadata and codec-name handling.
Original commit message from CVS:
* ext/mad/Makefile.am:
* gst/avi/Makefile.am:
* gst/effectv/Makefile.am:
* gst/udp/Makefile.am:
* gst/wavparse/Makefile.am:
Use -lgstfoo-@GST_MAJORMINOR@ instead of -lgstfoo-0.9
Original commit message from CVS:
* gst/wavparse/gstwavparse.c: (gst_wavparse_stream_headers),
(gst_wavparse_stream_data):
Add some fixes from 0.8 branch: allow 24/32bps songs and
blockalign samples to the header-specified size, if any
(#311070); error out on channels==0 or bitrate==0
(#309043, #304588).
Original commit message from CVS:
* ext/faad/gstfaad.c: (gst_faad_class_init), (gst_faad_setcaps):
Add debug category, remove Close() call that made it crash
whenever reusing, renegotiating or anything; Close() actually
free()s the handle and should only be called on READY->NULL.
* gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_header):
Actually set caps on buffer (in addition to pad), also.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_stream_header):
Fix AVI header parsing: add missing break statement after
GST_RIFF_INFO_LIST parsing code; gst_riff_read_chunk() has
already advanced the avi->offset, no need to do it twice
(fixes MovieOfMovies.avi).
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_event),
(gst_avi_demux_handle_seek):
Fix seeking (or, well, fix threading issue where a variable was
set before a lock was taken and was already unset before that
same lock was taken and was thus no longer in existance when it
actually had to be used).
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_process_next_entry):
Mixing binary and logical operators is not going to work; fix
position-querying in Totem.
Original commit message from CVS:
2005-08-04 Andy Wingo <wingo@pobox.com>
* sys/oss/gstossaudio.c (plugin_init): Second-class citizen.
* gst/videobox/gstvideobox.c (gst_video_box_get_size): Update for
API changes.
* configure.ac (DEFAULT_AUDIOSINK, DEFAULT_VIDEOSINK): Set to
autoaudiosink and autovideosink.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_reset),
(gst_avi_demux_parse_stream), (gst_avi_demux_process_next_entry):
You need to allocatate (len+1) characters to store a len size string.
Also don't stop the processing task if the output pad is not linked.
Original commit message from CVS:
* configure.ac:
* gst/wavparse/gstwavparse.c:
* gst/wavparse/gstwavparse.h:
* gst/wavparse/Makefile.am:
Ported wavparse to 0.9 . Playing, seeking and state changes work.
Could need more loving on the headers though.
Original commit message from CVS:
2005-07-16 Philippe Khalaf <burger@speedy.org>
* gst/fdsrc/gstfdsrc.c:
* gst/fdsrc/gstfdsrc.h:
* gst/fdsrc/Makefile.am:
Moved fdsrc 0.9 port from gstreamer/gst/elements to here.
Original commit message from CVS:
* gst/level/gstlevel.c: (gst_level_transform):
* gst/videobox/gstvideobox.c: (gst_video_box_class_init),
(gst_video_box_get_size), (gst_video_box_transform):
Port to new base class.
Original commit message from CVS:
2005-07-08 Andy Wingo <wingo@pobox.com>
* gst/avi/Makefile.am (libgstavi_la_CFLAGS): No gettext hacks, the
defines come from config.h.
* autogen.sh: Run autopoint, etc.
* Makefile.am (DIST_SUBDIRS, SUBDIRS): Go into po/.
* configure.ac: Add gettext stuff.
Original commit message from CVS:
* gst/videobox/gstvideobox.c: (gst_video_box_init),
(gst_video_box_transform_caps), (gst_video_box_set_caps):
Logic was reversed. Needs some more fixes in the transform
function to include AYUV output.
Moved AYUV as prefered format.
Original commit message from CVS:
* gst/base/gstbasesrc.c: (gst_base_src_get_range),
(gst_base_src_default_negotiate), (gst_base_src_negotiate):
Allow subclasses to implement their own negotiation.
Original commit message from CVS:
2005-07-05 Andy Wingo <wingo@pobox.com>
* gst/videobox/gstvideobox.c: Clean up, port to 0.9, use
BaseTransform.
* gst/videobox/Makefile.am: Link to base libs, include
plugins-base cflags, dist the README.
* configure.ac (GST_PLUGIN_ALL, AC_CONFIG_FILES): Add videobox to
the build.
Original commit message from CVS:
2005-07-04 Andy Wingo <wingo@pobox.com>
* examples/level/:
* examples/level/Makefile.am:
* examples/level/README:
* examples/level/demo.c:
* examples/level/plot.c: Examples moved out of the source dir. Not
updated tho.
* configure.ac: Add level to the build.
* gst/level/Makefile.am:
* gst/level/gstlevel.h:
* gst/level/gstlevel.c: Cleaned up, ported to 0.9.
Original commit message from CVS:
* gst/udp/Makefile.am:
* gst/udp/gstudp.c:
* gst/udp/gstdynudpsink.c: (new)
* gst/udp/gstdynudpsink.h: (new)
Added new element (udpdynsink) that receives GstNetBuffers and sends the
udp packets to the source given in the buffer. It's used by rtpsession
element for now.
* gst/udp/gstudpsrc.c:
Fixed memory leak.
Original commit message from CVS:
2005-07-01 Jan Schmidt <thaytan@mad.scientist.com>
* ext/libcaca/Makefile.am:
* ext/mad/Makefile.am:
* gst/effectv/Makefile.am:
* gst/udp/Makefile.am:
Replace GST_PLUGINS_LIBS_* with GST_PLUGINS_BASE_*
* ext/mad/gstid3tag.c: (gst_id3_tag_src_query),
(gst_id3_tag_src_event), (gst_id3_tag_sink_event),
(gst_id3_tag_chain), (plugin_init):
* ext/mad/gstmad.c: (gst_mad_src_query), (gst_mad_chain):
Signedness warning fix, use gst_pad_get_peer instead of GST_PAD_PEER
in querying and event handling, because we're not holding the pad
lock and the peer may disappear.
* gst/avi/gstavidemux.c: (gst_avi_demux_parse_subindex),
(gst_avi_demux_parse_index), (gst_avi_demux_massage_index):
Signedness warning fixes.
* gst/videofilter/gstvideotemplate.c: (plugin_init):
Remove gst_library_load
Original commit message from CVS:
* gst/avi/Makefile.am: (libgstavi_la_LIBADD):
Added linking to libgstriff-0.9
* ext/mad/gstmad.c: (gst_mad_src_query):
check the format of the upstream query and return query if it's the
same format as the requested one.
Original commit message from CVS:
* gst/rtsp/gstrtspsrc.c: (gst_rtsp_proto_get_type),
(gst_rtspsrc_class_init), (gst_rtspsrc_create_stream),
(gst_rtspsrc_add_element), (gst_rtspsrc_set_state),
(gst_rtspsrc_stream_setup_rtp),
(gst_rtspsrc_stream_configure_transport), (find_stream),
(gst_rtspsrc_loop), (gst_rtspsrc_open), (gst_rtspsrc_play),
(gst_rtspsrc_change_state):
Fix case where outpad could not be decided.
Original commit message from CVS:
* ext/mad/gstmad.c: (gst_mad_chain), (gst_mad_change_state):
* ext/sidplay/gstsiddec.cc:
* gst/alpha/gstalpha.c: (gst_alpha_chain):
* gst/goom/gstgoom.c: (gst_goom_chain):
No need to take the lock anymore, core already did
that before calling us.
Original commit message from CVS:
* Makefile.am:
* ext/Makefile.am:
* sys/Makefile.am:
Make my automake version shut up about undefined variables
* gst/goom/gstgoom.c:
GstAdapter moved to base objects.
Original commit message from CVS:
* configure.ac:
* gst/alpha/Makefile.am:
* gst/alpha/gstalpha.c: (gst_alpha_class_init), (gst_alpha_init),
(gst_alpha_sink_setcaps), (gst_alpha_chain):
Ported alpha, remove alphacolor as functionality is in
ffmpegcolorspace.
Original commit message from CVS:
Move core plugins out of core. I don't mind fdsrc/fdsink
going back into the core; they were just disabled there, so
I moved them. Some of this stuff could (should) be deleted.
* gst/oldcore/Makefile.am:
* gst/oldcore/gstaggregator.c:
* gst/oldcore/gstaggregator.h:
* gst/oldcore/gstelements.c:
* gst/oldcore/gstfdsink.c:
* gst/oldcore/gstfdsink.h:
* gst/oldcore/gstfdsrc.c:
* gst/oldcore/gstfdsrc.h:
* gst/oldcore/gstmd5sink.c:
* gst/oldcore/gstmd5sink.h:
* gst/oldcore/gstmultifilesrc.c:
* gst/oldcore/gstmultifilesrc.h:
* gst/oldcore/gstpipefilter.c:
* gst/oldcore/gstpipefilter.h:
* gst/oldcore/gstshaper.c:
* gst/oldcore/gstshaper.h:
* gst/oldcore/gststatistics.c:
* gst/oldcore/gststatistics.h:
Original commit message from CVS:
Fixed a few things to enable the mad and effectv to be able to find the headers in the gst-plugins-base/gst-libs and to link against the libs in there.
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c:
(gst_riff_create_audio_caps_with_data):
Do actually fix invalid RIFF fmt header values for alaw
and mulaw audio instead of just saying so.
* gst/wavparse/gstwavparse.c: (gst_wavparse_fmt):
Give gst_riff_create_audio_caps_with_data() a chance to
fix up broken format header fields before extracting any
parameters from the header. (fixes#167633)
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_invert):
Declare variables at beginning of block and make gcc-2.95 happy
(fixes # 167482, patch by Gergely Nagy).
* gst/tcp/gsttcpclientsrc.c:
* gst/tcp/gsttcpclientsrc.h:
Move some includes into the header, so that struct sockaddr_in is
defined when it should be defined on FreeBSD as well (fixes
#167483).
* gst/tcp/gsttcpserversrc.c: (gst_tcpserversrc_init_receive):
Don't pass uninitialised values to setsockopt() here either.
Original commit message from CVS:
* ext/mpeg2dec/gstmpeg2dec.c:
Don't send things to NULL PAD_PEERs
* gst/deinterlace/gstdeinterlace.c: (gst_deinterlace_chain):
Copy-on-write the incoming buffer.
* gst/mpegstream/gstdvddemux.h:
* gst/mpegstream/gstmpegclock.h:
* gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_parse_syshead),
(normal_seek), (gst_mpeg_demux_handle_src_event):
* gst/mpegstream/gstmpegdemux.h:
* gst/mpegstream/gstmpegpacketize.h:
* gst/mpegstream/gstmpegparse.c:
(gst_mpeg_parse_update_streaminfo), (gst_mpeg_parse_reset),
(gst_mpeg_parse_handle_discont), (gst_mpeg_parse_parse_packhead),
(gst_mpeg_parse_loop), (gst_mpeg_parse_get_rate),
(gst_mpeg_parse_convert_src), (gst_mpeg_parse_handle_src_query),
(gst_mpeg_parse_handle_src_event), (gst_mpeg_parse_change_state):
* gst/mpegstream/gstmpegparse.h:
* gst/mpegstream/gstrfc2250enc.h:
Various changes to the way time is computed that make seeking and
total time estimation much better here.
Use G_BEGIN/END_DECLS instead of __cplusplus
* gst/videocrop/gstvideocrop.c: (gst_video_crop_chain):
Use gst_buffer_stamp instead of only copying the TIMESTAMP
Original commit message from CVS:
Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
* gst/qtdemux/qtdemux.c: (gst_qtdemux_change_state),
(gst_qtdemux_loop_header):
Re-apply patch from #142272 that allows non-seekable sources,
re-proposed by Daniel Drake <dsd@gentoo.org>.
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:
Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
* ext/mad/gstmad.c: (gst_mad_src_event):
* gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_event):
Allow seeks on audio pad, make mad forward those (#164826).
* gst/audioscale/gstaudioscale.c: (gst_audioscale_chain):
Set duration (#165335).
Original commit message from CVS:
* ext/a52dec/gsta52dec.c: (gst_a52dec_push),
(gst_a52dec_handle_event), (gst_a52dec_chain):
Add some debug output. Check that a discont has a valid
time associated.
* ext/alsa/gstalsasink.c: (gst_alsa_sink_check_event),
(gst_alsa_sink_loop):
Ignore TAG events. A little extra debug for broken timestamps.
* ext/dvdnav/dvdnavsrc.c: (dvdnavsrc_init), (dvdnavsrc_loop),
(dvdnavsrc_change_state):
Ensure we send a discont to engage the link before we send any
other events.
* ext/dvdread/dvdreadsrc.c: (dvdreadsrc_init),
(dvdreadsrc_finalize), (_close), (_open), (_seek_title),
(_seek_chapter), (seek_sector), (dvdreadsrc_get),
(dvdreadsrc_uri_get_uri), (dvdreadsrc_uri_set_uri):
Handle URI of the form dvd://title[,chapter[,angle]]. Currently only
dvd://title works in totem because typefinding sends a seek that ends
up going back to chapter 1 regardless.
* ext/mpeg2dec/gstmpeg2dec.c:
* ext/mpeg2dec/gstmpeg2dec.h:
Output correct timestamps and handle disconts.
* ext/ogg/gstoggdemux.c: (get_relative):
Small guard against a null dereference.
* ext/pango/gsttextoverlay.c: (gst_textoverlay_finalize),
(gst_textoverlay_set_property):
Free memory when done. Don't call gst_event_filler_get_duration on
EOS events. Use GST_LOG and GST_WARNING instead of g_message and
g_warning.
* ext/smoothwave/gstsmoothwave.c: (gst_smoothwave_init),
(draw_line), (gst_smoothwave_dispose), (gst_sw_sinklink),
(gst_sw_srclink), (gst_smoothwave_chain):
Draw solid lines, prettier colours.
* gst/mpeg2sub/gstmpeg2subt.c: (gst_mpeg2subt_init):
Add a default palette that'll work for some movies.
* gst/mpegstream/gstdvddemux.c: (gst_dvd_demux_init),
(gst_dvd_demux_handle_dvd_event), (gst_dvd_demux_send_discont),
(gst_dvd_demux_send_subbuffer), (gst_dvd_demux_reset):
* gst/mpegstream/gstdvddemux.h:
* gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_send_discont),
(gst_mpeg_demux_parse_syshead), (gst_mpeg_demux_parse_pes):
* gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_init),
(gst_mpeg_parse_handle_discont), (gst_mpeg_parse_parse_packhead):
* gst/mpegstream/gstmpegparse.h:
Use PTM/NAV events when for timestamp adjustment when connected to
dvdnavsrc. Don't use many discont events where one suffices.
* gst/playback/gstplaybasebin.c: (group_destroy),
(gen_preroll_element), (gst_play_base_bin_add_element):
* gst/playback/gstplaybasebin.h:
Make sure we remove subtitles from the same bin we put them in.
* gst/subparse/gstsubparse.c: (convert_encoding), (parse_subrip),
(gst_subparse_buffer_format_autodetect),
(gst_subparse_change_state):
Fix some memleaks and invalid accesses.
* gst/typefind/gsttypefindfunctions.c: (ogganx_type_find),
(oggskel_type_find), (cmml_type_find), (plugin_init):
Some typefind functions for Annodex v3.0 files
* gst/wavparse/gstwavparse.h:
GstRiffReadClass is the correct parent class.
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/mad/gstmad.c: (gst_mad_check_caps_reset), (gst_mad_chain):
Fail if caps negotiation fails. Should fix#162184, and should
definately be in there regardless of it fixing the actual bug.
* gst/avi/gstavimux.c: (gst_avimux_get_type), (gst_avimux_init),
(gst_avimux_write_tag), (gst_avimux_riff_get_avi_header),
(gst_avimux_riff_get_avix_header),
(gst_avimux_riff_get_video_header),
(gst_avimux_riff_get_audio_header), (gst_avimux_write_index),
(gst_avimux_start_file), (gst_avimux_handle_event),
(gst_avimux_change_state):
* gst/avi/gstavimux.h:
Refactor structure writing to use GST_WRITE_UINT macros, add
metadata writing support.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_change_state),
(gst_qtdemux_loop_header), (gst_qtdemux_handle_esds):
More memory leak fixes (#149162).
Original commit message from CVS:
* gst-libs/gst/riff/riff-read.c: (gst_riff_read_use_event):
Don't bail on unknown events.
* gst/audioscale/gstaudioscale.c: (gst_audioscale_chain):
Don't crash on events before negotiation.
* gst/avi/gstavidemux.c: (gst_avi_demux_add_stream):
Send tags on pads, too.
* gst/playback/gststreamselector.c:
(gst_stream_selector_request_new_pad):
Forward events on first pad if no input was selected yet.
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:
* gst-libs/gst/riff/riff-ids.h:
* gst/wavenc/riff.h:
Add AMR (VBR and CBR) ids to riff.h audio codec list
* gst/asfdemux/gstasfdemux.c:
(gst_asf_demux_process_ext_content_desc),
(gst_asf_demux_process_object):
Retrieve more tags from ASF files (Genre, AlbumTitle, Artist)
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/qtdemux/qtdemux.c: (qtdemux_type_get), (qtdemux_audio_caps):
* gst/typefind/gsttypefindfunctions.c: (q3gp_type_find),
(plugin_init):
Add 3GP (variables name Q3GP because they can't start with a
number). Add samr audio fourcc (used in .3gp files), decoder
is work in progress. Also do a GST_WARNING instead of ERROR
in case of unknown nodes, to decrease output.
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/avi/gstavidemux.c: (gst_avi_demux_stream_index),
(gst_avi_demux_stream_scan):
Add some more debug. Fix logic error when setting movi offset
while reading index.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_stream_index),
(gst_avi_demux_stream_scan), (gst_avi_demux_handle_seek),
(gst_avi_demux_process_next_entry):
Add some debugging. Better detection of broken indexes and the
accompanying index recovery. No infinite loops on state changes
when we're still in our loopfunction.
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/avi/gstavidemux.c: (gst_avi_demux_stream_index):
Work for truncated (unfinished download etc.) files. Fixes#160514.
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/asfdemux/README
* gst/wavenc/riff.h
* gst-libs/gst/riff/riff-ids.h
* gst-libs/gst/riff/riff-media.c
add new 4CC codes for h263 related codecs
fixes partially bug #155163
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:
* ext/a52dec/gsta52dec.c: (gst_a52dec_init),
(gst_a52dec_handle_event), (gst_a52dec_update_streaminfo),
(gst_a52dec_handle_frame), (gst_a52dec_chain),
(gst_a52dec_change_state), (plugin_init):
* ext/a52dec/gsta52dec.h:
Do something useful with timestamps. Make chain-based (since
there's really no reason to be loopbased).
* gst/avi/gstavidemux.c: (gst_avi_demux_process_next_entry):
Update current_byte/frame correctly.
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:
Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
* gst/law/alaw-decode.c: (alawdec_getcaps):
* gst/law/mulaw-decode.c: (mulawdec_getcaps):
Prevent warnings when negotiating caps (fixes#159338).
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_stream_index),
(gst_avi_demux_massage_index):
Fix quite humiliating bug in omitting 0-sized index chunks but
forgetting to count them for timestamps.
Original commit message from CVS:
* configure.ac:
* ext/libvisual/visual.c: (gst_visual_get_type),
(libvisual_log_handler), (gst_visual_getcaps),
(gst_visual_srclink), (gst_visual_change_state), (make_valid_name),
(plugin_init):
Update libvisual to 0.1.7. Link in the debug handling to gstreamer
* ext/smoothwave/Makefile.am:
* ext/smoothwave/demo-osssrc.c: (main):
* ext/smoothwave/gstsmoothwave.c: (gst_smoothwave_class_init),
(gst_smoothwave_init), (gst_smoothwave_dispose), (gst_sw_sinklink),
(gst_sw_srclink), (gst_smoothwave_chain), (gst_sw_change_state),
(plugin_init):
* ext/smoothwave/gstsmoothwave.h:
Make gstsmoothwave a working element in the 20th century.
* gst/chart/gstchart.c: (gst_chart_init), (gst_chart_srcconnect):
Fix incorrect link function
Original commit message from CVS:
* ext/alsa/gstalsa.c: (gst_alsa_get_caps_internal):
buffer-frames property was missing
* ext/arts/gst_arts.c:
rate missing from sinkcaps
* ext/audiofile/gstafparse.c:
* ext/audiofile/gstafsink.c:
* ext/audiofile/gstafsrc.c:
* ext/swfdec/gstswfdec.c:
int audio doesn't know buffer-frames
* ext/cdparanoia/gstcdparanoia.c:
int audio doesn't know chunksize either
* ext/nas/nassink.c:
it's endianness, not endianess
* gst-libs/gst/audio/audio.h:
make float standard pad template caps really describe float
* gst/law/mulaw.c: (linear_factory):
signed only, please
* gst/mpegstream/gstdvddemux.c:
widths of 20 are not valid
Original commit message from CVS:
* gst/videomixer/videomixer.c: (gst_videomixer_blend_ayuv_ayuv),
(gst_videomixer_fill_checker), (gst_videomixer_fill_color),
(gst_videomixer_blend_buffers), (gst_videomixer_loop):
Only mix AYUV for maximum quality.
Original commit message from CVS:
Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
* gst/rtp/gstrtpgsmparse.c: (gst_rtpgsm_caps_nego):
Add missing NULL terminator (#157543).
Original commit message from CVS:
* gst/videomixer/videomixer.c: (gst_videomixer_blend_ayuv_i420),
(gst_videomixer_fill_checker), (gst_videomixer_fill_color),
(gst_videomixer_blend_buffers), (gst_videomixer_loop):
Fix stride issues. Does not completely work for odd
heights.
Original commit message from CVS:
* gst/alpha/gstalpha.c: (gst_alpha_method_get_type),
(gst_alpha_chroma_key), (gst_alpha_chain):
Fix stride issues. Does not completely work for odd
heights.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_header),
(gst_qtdemux_add_stream), (qtdemux_parse), (qtdemux_parse_tree),
(qtdemux_parse_udta), (qtdemux_tag_add), (gst_qtdemux_handle_esds):
Change all g_print()s to debugging. Add a bunch of consistency
checks.
Original commit message from CVS:
Reviewd by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
* gst/wavparse/gstwavparse.c: (gst_wavparse_fmt):
Fix memleak (#155223).
Original commit message from CVS:
* gst-libs/gst/audio/gstaudiofilter.c: (gst_audiofilter_link):
fix link function to always query channels and query width for
floats
* configure.ac:
add equalizer dir
* gst/equalizer/Makefile.am:
* gst/equalizer/gstiirequalizer.c: (gst_iir_equalizer_get_type),
(gst_iir_equalizer_base_init), (gst_iir_equalizer_class_init),
(gst_iir_equalizer_init), (gst_iir_equalizer_finalize),
(arg_to_scale), (setup_filter),
(gst_iir_equalizer_compute_frequencies),
(gst_iir_equalizer_set_property), (gst_iir_equalizer_get_property),
(gst_iir_equalizer_filter_inplace), (gst_iir_equalizer_setup),
(plugin_init):
add an equalizer
Original commit message from CVS:
* gst/avi/gstavimux.c: (gst_avimux_audsinkconnect),
(gst_avimux_stop_file):
First calculate the rate, and only then use it. Hdr.rate is a
multiple and not a derivative of hdr.scale. Scale is not the
same as blockalign but is solely related to rate.
Original commit message from CVS:
* gst/spectrum/Makefile.am:
* gst/spectrum/demo-osssrc.c: (spectrum_chain), (main),
(idle_func):
Fix demo and reenable it. Yes, I'm currently playing with audio
analysis tools
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_header),
(qtdemux_parse), (gst_qtdemux_handle_esds):
An esds box is not a container.
Fix parsing of mp4v boxes.
Do not try to renegotiate fps for each frame. Need to
find a better method. This should fix mp4 playback.
Original commit message from CVS:
* configure.ac: update for swfdec-0.3 and liboil-0.2
* ext/swfdec/gstswfdec.c: update for swfdec-0.3
* ext/swfdec/gstswfdec.h: same
* gst/videofilter/gstvideobalance.c: update for liboil-0.2
* gst/videotestsrc/videotestsrc.c: same
Original commit message from CVS:
* ext/gnomevfs/gstgnomevfssrc.c: (gst_gnomevfssrc_get),
(gst_gnomevfssrc_srcpad_query), (gst_gnomevfssrc_srcpad_event):
Some debug.
* gst/avi/gstavidemux.c: (gst_avi_demux_reset),
(gst_avi_demux_handle_src_event), (gst_avi_demux_read_superindex),
(gst_avi_demux_read_subindexes), (gst_avi_demux_add_stream),
(gst_avi_demux_stream_index), (gst_avi_demux_skip),
(gst_avi_demux_sync), (gst_avi_demux_stream_scan),
(gst_avi_demux_massage_index), (gst_avi_demux_stream_header):
* gst/avi/gstavidemux.h:
Support for openDML-2.0 indx/ix## chunks. Support for broken index
recovery (where, if part of the index is broken, we will still read
the rest of the index and recover the broken part by stream
scanning). More broken media support. EOS workarounds. General AVI
braindamage headache recovery. Aspirin included.
Original commit message from CVS:
Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
* gst/wavenc/gstwavenc.c: (gst_wavenc_stop_file):
Fix wrong discont event setup (fixes#154967).
Original commit message from CVS:
Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
* gst/auparse/gstauparse.c: (gst_auparse_chain):
Error out on invalid data (fixes#154807).
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_massage_index):
OK, so the original code was too strict. It makes random AVI files
hang for seconds upon opening, which is unacceptable and is far
beyond the original goal of getting multiple chunks for one-chunk
sounc stream files. So now do just that.
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:
* gst/wavparse/Makefile.am
* gst/wavparse/riff.h
* gst/wavparse/wavparse.vcproj
riff.h removal (unused and duplication with riff-ids.h)
Original commit message from CVS:
* gst/flx/gstflxdec.c: (gst_flxdec_init), (gst_flxdec_loop):
Actually _do_ negotiation. Pass gdouble as arg instead
of guint64 for the framerate.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_event):
Fix seeking in some files. All this code is no longer needed (and
actually breaks stuff) because we now synchronize the full index
right when reading the header.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_stream_index),
(gst_avi_demux_stream_scan), (sort), (gst_avi_demux_massage_index),
(gst_avi_demux_stream_header), (gst_avi_demux_stream_data):
Improve allocation, cutting and sorting of the index. How takes a
few seconds instead of minutes.
Original commit message from CVS:
gstwavparse.c: it did not build in system with Glib < 2.4 because it
used the macro G_MAXUINT32. Now we define the macro if it is not yet
defined.
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c:
(gst_riff_create_video_caps_with_data),
(gst_riff_create_video_template_caps):
Add wing commander format mimetype/fourccs.
* gst/avi/gstavidemux.c: (gst_avi_demux_massage_index):
Don't crash if some value is 0.
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c:
(gst_riff_create_video_caps_with_data),
(gst_riff_create_video_template_caps):
Add DIB fourcc (raw, palettized 8-bit RGB).
* gst-libs/gst/riff/riff-read.c:
(gst_riff_read_strf_vids_with_data):
Oops, fix strf_data reading bug.
* gst/avi/gstavidemux.c: (gst_avi_demux_add_stream):
Use a non-NULL tag.
* gst/qtdemux/qtdemux.c: (qtdemux_parse_trak):
Time for hacks. Sorry Dave. At least one quicktime movie (a
trailer) that I've encountered contains multiple video tracks.
One of those is the actual video track, the other are one-frame
tracks (images). Unfortunately, the number of frames according
to the trak header is 1 for each, so that doesn't help. So
instead, I look at the duration and discard tracks with a
duration shorter than 20% of the length of the stream. Better
than nothing.
Original commit message from CVS:
* gst/wavparse/gstwavparse.c: (gst_wavparse_class_init),
(gst_wavparse_stream_init), (gst_wavparse_fmt),
(gst_wavparse_other), (gst_wavparse_loop),
(gst_wavparse_pad_convert), (gst_wavparse_pad_query),
(gst_wavparse_srcpad_event):
* gst/wavparse/gstwavparse.h:
Added some more debugging info.
Fix the case where the length of the file is 0.
Make sure we seek to sample borders.
Original commit message from CVS:
Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
* gst/wavparse/gstwavparse.c: (gst_wavparse_fmt):
Throw error if we didn't recognize the stream. Fixes#152289.
Original commit message from CVS:
Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
* gst/wavparse/gstwavparse.c: (gst_wavparse_fmt):
Fix memleak.
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/flac/gstflacdec.c: (gst_flacdec_src_query):
Only return true if we actually filled something in. Prevents
player applications from showing a random length for flac files.
* gst-libs/gst/riff/riff-read.c: (gst_riff_read_class_init),
(gst_riff_read_use_event), (gst_riff_read_handle_event),
(gst_riff_read_seek), (gst_riff_read_skip), (gst_riff_read_strh),
(gst_riff_read_strf_vids_with_data),
(gst_riff_read_strf_auds_with_data), (gst_riff_read_strf_iavs):
OK, ok, so I implemented event handling. Apparently it's normal
that we receive random events at random points without asking
for it.
* gst/avi/gstavidemux.c: (gst_avi_demux_reset),
(gst_avi_demux_src_convert), (gst_avi_demux_handle_src_query),
(gst_avi_demux_handle_src_event), (gst_avi_demux_stream_index),
(gst_avi_demux_sync), (gst_avi_demux_stream_scan),
(gst_avi_demux_massage_index), (gst_avi_demux_stream_header),
(gst_avi_demux_handle_seek), (gst_avi_demux_process_next_entry),
(gst_avi_demux_stream_data), (gst_avi_demux_loop):
* gst/avi/gstavidemux.h:
Implement non-lineair chunk handling and subchunk processing.
The first solves playback of AVI files where the audio and video
data of individual buffers that we read are not synchronized.
This should not happen according to the wonderful AVI specs, but
of course it does happen in reality. It is also a prerequisite for
the second. Subchunk processing allows us to cut chunks in small
pieces and process each of these pieces separately. This is
required because I've seen several AVI files with incredibly large
audio chunks, even some files with only one audio chunk for the
whole file. This allows for proper playback including seeking.
This patch is supposed to fix all AVI A/V sync issues.
* gst/flx/gstflxdec.c: (gst_flxdec_class_init),
(flx_decode_chunks), (flx_decode_color), (gst_flxdec_loop):
Work.
* gst/modplug/gstmodplug.cc:
Proper return value setting for the query() function.
* gst/playback/gstplaybasebin.c: (setup_source):
Being in non-playing state (after, e.g., EOS) is not necessarily
a bad thing. Allow for that. This fixes playback of short files.
They don't actually playback fully now, because the clock already
runs. This means that small files (<500kB) with a small length
(<2sec) will still not or barely play. Other files, such as mod
or flx, will work correctly, however.
Original commit message from CVS:
Company's wisdom:
Events should be passed on using the sinkpad's default handler not the src
Seek events only go upstream, so send a discont downstream instead.
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:
* gst/asfdemux/gstasfdemux.c: (_read_var_length), (_read_guid),
(gst_asf_demux_process_segment), (gst_asf_demux_handle_data),
(gst_asf_demux_process_chunk), (gst_asf_demux_handle_sink_event):
Prevent infinite loops. More correct error reporting.
* gst/auparse/gstauparse.c: (gst_auparse_chain):
Error out if negotiation fails.
* gst/playback/gstplaybasebin.c: (setup_source),
(gst_play_base_bin_change_state), (gst_play_base_bin_error),
(gst_play_base_bin_found_tag):
Error/tag forwarding. Pre-roll fixes for source errors on state
changes (e.g. "file does not exist") to prevent hangs.
Original commit message from CVS:
2004-09-19 Zaheer Abbas Merali <zaheerabbas at merali dot org>
* gst/wavenc/gstwavenc.c: (gst_wavenc_init), (gst_wavenc_chain):
* gst/wavenc/gstwavenc.h:
Added newmedia support to wavenc
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_query),
(gst_avi_demux_stream_data):
Just hardcode for raw audio then. AVI audio sucks.
Original commit message from CVS:
* configure.ac: remove NASM check, since we don't use it. Update
dirac check to 0.4
* ext/dirac/gstdiracdec.cc: update to current 0.4 API
* gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_link):
Initialized variables.
* gst/qtdemux/qtdemux.c: (gst_qtdemux_change_state),
(gst_qtdemux_loop_header), (qtdemux_parse), (qtdemux_parse_trak),
(gst_qtdemux_handle_esds), (qtdemux_audio_caps): Fix seeking, add
SVQ3 format
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_query),
(gst_avi_demux_add_stream), (gst_avi_demux_stream_data):
* gst/avi/gstavidemux.h:
Fix for compressed audio (mp3) timestamp generation. How did this
ever work?
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_add_stream),
(qtdemux_parse_trak):
Don't crash by dividing by zero (see sample movie in #126922).
Original commit message from CVS:
* gst/videomixer/videomixer.c: (gst_videomixer_blend_buffers):
Copy timestamps from the master pad to the output buffers.
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.
Original commit message from CVS:
* gst/udp/gstudpsrc.c: (gst_udpsrc_init), (gst_udpsrc_get):
* gst/udp/gstudpsrc.h:
Don't call gst_pad_push in a get function. Fixes#150449
Original commit message from CVS:
2004-07-28 Zaheer Abbas Merali <zaheerabbas at merali dot org>
* ext/lame/gstlame.c: (gst_lame_chain): send tag events downstream
* ext/shout2/gstshout2.c: (gst_shout2send_protocol_get_type),
(gst_shout2send_get_type), (gst_shout2send_set_clock),
(gst_shout2send_class_init), (gst_shout2send_init),
(set_shout_metadata), (gst_shout2send_set_metadata),
(gst_shout2send_chain), (gst_shout2send_set_property),
(gst_shout2send_get_property), (gst_shout2send_connect),
(gst_shout2send_change_state):
* ext/shout2/gstshout2.h:
- fix for sending mp3 audio to icecast2 server, if pad link function not
called before PAUSED state
- added option to use GStreamer clock sync (as opposed to libshout's own sync)
- added tagging support for mp3 audio broadcasted
* gst/monoscope/gstmonoscope.c: (gst_monoscope_class_init):
debug info
Original commit message from CVS:
* gst/wavparse/gstwavparse.c: (gst_wavparse_fmt),
(gst_wavparse_handle_seek), (gst_wavparse_srcpad_event):
Add the pad to the element after setting up the caps. This
makes it a lot easier to autoplug.
Original commit message from CVS:
* gst/videomixer/videomixer.c: (gst_videomixer_pad_get_type),
(gst_videomixer_pad_class_init), (gst_videomixer_pad_get_property),
(gst_videomixer_pad_set_property),
(gst_videomixer_pad_sinkconnect), (gst_videomixer_pad_init),
(gst_video_mixer_background_get_type), (gst_videomixer_get_type),
(gst_videomixer_class_init), (gst_videomixer_init),
(gst_videomixer_getcaps), (gst_videomixer_request_new_pad),
(gst_videomixer_blend_ayuv_i420), (pad_zorder_compare),
(gst_videomixer_sort_pads), (gst_videomixer_fill_checker),
(gst_videomixer_fill_color), (gst_videomixer_fill_queues),
(gst_videomixer_blend_buffers), (gst_videomixer_update_queues),
(gst_videomixer_loop), (plugin_init):
Be a nicer negotiation citizen and provide a getcaps function on
the srcpad. This also fixes a crash when resizing.
Original commit message from CVS:
Set the explicit caps on the pad when the file is parsed as explicit caps get wiped during state changes. fixes bug #148043
Original commit message from CVS:
* gst/alpha/Makefile.am:
* gst/alpha/gstalphacolor.c: (gst_alpha_color_get_type),
(gst_alpha_color_base_init), (gst_alpha_color_class_init),
(gst_alpha_color_init), (gst_alpha_color_set_property),
(gst_alpha_color_get_property), (gst_alpha_color_sink_link),
(transform), (gst_alpha_color_chain),
(gst_alpha_color_change_state), (plugin_init):
Stupid plugin to to RGBA to AYUV conversion because none of
the colorspace plugins can handle that yet.
Original commit message from CVS:
* gst-libs/gst/riff/riff-read.c:
(gst_riff_read_strf_vids_with_data),
(gst_riff_read_strf_auds_with_data):
* gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_query),
(gst_avi_demux_add_stream), (gst_avi_demux_stream_header):
Make sure we don't create 0 sized subbufers in riff-read.
Signal the no more pads signal after reading the avi header.
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c:
(gst_riff_create_video_caps_with_data):
mp42/mp43 (no caps) exist too.
* gst/matroska/matroska-demux.c: (gst_matroska_demux_video_caps):
Set pixel_width/height; we've got them in-caps.
* gst/typefind/gsttypefindfunctions.c: (plugin_init):
* gst/wavparse/gstwavparse.c: (plugin_init):
Both are valid primary.
* sys/oss/gstossmixer.c:
Remove i18n hack and enable translations.
Original commit message from CVS:
* gst/videobox/gstvideobox.c: (gst_video_box_fill_get_type),
(gst_video_box_class_init), (gst_video_box_set_property),
(gst_video_box_i420), (gst_video_box_ayuv), (gst_video_box_chain):
Use pad_alloc where possible.
Original commit message from CVS:
* ext/dvdnav/gst-dvd: Grab the gconf key from the right spot
* gst/debug/gstnavseek.c: (gst_navseek_init),
(gst_navseek_segseek), (gst_navseek_handle_src_event),
(gst_navseek_chain):
* gst/debug/gstnavseek.h: Add 's', 'e' and 'l' keypresses to navseek
to define the start,end and loop parameters of a segment seek.
* gst/videotestsrc/gstvideotestsrc.c: (gst_videotestsrc_init),
(gst_videotestsrc_get_event_masks),
(gst_videotestsrc_handle_src_event), (gst_videotestsrc_get):
* gst/videotestsrc/gstvideotestsrc.h:
Add seeking support to videotestsrc
Initialise the timestamp_offset variable.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_init),
(gst_qtdemux_handle_src_query), (gst_qtdemux_handle_src_event),
(gst_qtdemux_handle_sink_event), (gst_qtdemux_change_state),
(gst_qtdemux_loop_header), (qtdemux_dump_mvhd),
(qtdemux_parse_trak):
* gst/qtdemux/qtdemux.h:
Bitch. Also known as seeking, querying & co.
* sys/oss/gstosssink.c: (gst_osssink_init), (gst_osssink_chain),
(gst_osssink_change_state):
* sys/oss/gstosssink.h:
Resyncing is for weenies, this hack is no longer needed and was
broken anyway (since it - unintendedly - always leaves resync to
TRUE).
Original commit message from CVS:
* gst/multipart/multipartmux.c: (gst_multipart_mux_class_init),
(gst_multipart_mux_init), (gst_multipart_mux_loop),
(gst_multipart_mux_get_property), (gst_multipart_mux_set_property),
(gst_multipart_mux_change_state):
Added configurable boundary specifier, added the value as a
caps field as well.
Original commit message from CVS:
* ext/vorbis/vorbisdec.c: (vorbis_dec_chain):
Initialise b_o_s and e_o_s variables
* gst-libs/gst/riff/riff-media.c:
(gst_riff_create_video_caps_with_data):
Add some unusual fourcc's from mplayer avi's
* gst/multipart/multipartmux.c: (gst_multipart_mux_plugin_init):
Make the muxer have rank GST_RANK_NONE, so it doesn't mess up
autoplugging.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_query):
Fix potential division by zero error and hopefully get
the position query right to get correct timestamps on avi
audio.
Original commit message from CVS:
second batch :
remove ',' at end of enums as they could confuse older gcc, foreign compilers (forte) and gtk-doc
(in gst-plugins/ext/ this time)
Original commit message from CVS:
* ext/dv/gstdvdec.c: (gst_dvdec_init), (gst_dvdec_get_formats),
(gst_dvdec_src_convert), (gst_dvdec_sink_convert):
Fix format conversion and position querying.
* gst/debug/progressreport.c: (gst_progressreport_report):
Don't output a bogus total value that we didn't query.
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_xv_support):
Always set XV_AUTOPAINT_COLORKEY to true. Fixes xvimagesink showing
only a blank window after xine has been used.
Original commit message from CVS:
* gst/debug/testplugin.c:
* gst/debug/tests.c:
* gst/debug/tests.h:
add new extensible and configurable testing element. Current tests
include buffer count, stream length, timestamp/duration matching and
md5.
* gst/debug/Makefile.am:
* gst/debug/gstdebug.c: (plugin_init):
add infrastructure for new element
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_change_state),
(gst_qtdemux_loop_header): Patch from dcm@acm.org (David Moore)
to allow qtdemux to use non-seekable streams. (bug #142272)
Original commit message from CVS:
* ext/esd/esdsink.c: (gst_esdsink_chain): Fix crash when ESD
is killed while we're playing.
* gst/qtdemux/qtdemux.c: (qtdemux_parse): call
gst_element_no_more_pads().
Original commit message from CVS:
* ext/audiofile/gstafparse.c : change class to Codec/Demuxer/Audio
* gst/auparse/gstauparse.c : idem
* gst/wavparse/gstwavparse.c : idem
Original commit message from CVS:
* ext/mad/gstid3tag.c : move from "Codec/(Dem/M)uxer" to "Codec/(Dem/M)uxer/Audio"
* gst/wavenc/gstwavenc.c : move from "Codec/Encoder/Audio" to "Codec/Muxer/Audio"
* gst/auparse/gstauparse.c :
- add code (commented for now) to support audio/x-adpcm on src pad
(we have no decoder for those layout yet)
* gst/cdxaparse/gstcdxaparse.c :
* gst/cdxaparse/gstcdxaparse.h :
- partial rewrite using RiffRead (ripped iain's wavparse code)
* gst/rtp/gstrtpL16enc.c : typo
* gst/rtp/gstrtpgsmenc.c : typo
Original commit message from CVS:
* gst-libs/gst/riff/riff-ids.h :
- add CDXA to the list of RIFF types
- add plst (playlist ?) to wav chunk list (only diff with wavparse/riff.h)
Original commit message from CVS:
* gst/auparse/gstauparse.c :
- Document all audio encoding we can encounter from Solaris 9
headers and libsndfile information.
- Increase max. rate from 48000 to 192000 (to match other elements)
- Don't try to play junk data between header and samples
Original commit message from CVS:
* gst/auparse/gstauparse.c: (gst_auparse_class_init),
(gst_auparse_init), (gst_auparse_chain),
(gst_auparse_change_state):
Hack around spider. Remove me some day please.
Original commit message from CVS:
* gst/auparse/gstauparse.c: (gst_auparse_chain):
Fix for some uninitialized variables in previous patch, also
makes it work. Fixes#142286 while we're at it.
Original commit message from CVS:
* gst/auparse/gstauparse.c:
fixes a-law, adds mu-law, linear pcm (8,16,24,32), ieee (32, 64)
only unsupported formats are ADPCM/CCITT G.72x
reviewed by Ronald
* gst-libs/gst/audio/audio.h:
adds 24bit depth to PCM (x-raw-int)
Original commit message from CVS:
* gst/wavparse/gstwavparse.c: (gst_wavparse_destroy_sourcepad),
(gst_wavparse_create_sourcepad):
make PAUSED=>READY=>PAUSED=READY work by not destroying NULL
sourcepads
Original commit message from CVS:
* gst/level/gstlevel.c: (gst_level_link), (gst_level_chain),
(gst_level_change_state), (gst_level_init):
* gst/level/gstlevel.h:
figure out if we're initialized directly instead of keeping a
variable that's wrong in 90% of cases
don't initialize pads and then leak them and use a new unitialized
pad. (fixes#142084)
these were bugs so n00bish I didn't find them for an hour :/
Original commit message from CVS:
Rewrote wavparse to use riff-read instead of doing bytestream stuff by hand.
Made some useful functions in riff-read non-static.
Original commit message from CVS:
* gst/wavenc/gstwavenc.c: (gst_wavenc_chain):
First process the events before deciding that negotiation
was not performed.
Original commit message from CVS:
* gst/matroska/matroska-demux.c:
(gst_matroska_demux_parse_metadata):
* gst/matroska/matroska-ids.h:
Basic tag reading support.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_header),
(gst_qtdemux_add_stream), (qtdemux_parse), (qtdemux_type_get),
(qtdemux_dump_stsz), (qtdemux_dump_stco), (qtdemux_dump_co64),
(qtdemux_dump_unknown), (qtdemux_parse_tree), (qtdemux_parse_udta),
(qtdemux_tag_add), (get_size), (gst_qtdemux_handle_esds): More qtdemux
hackage -- parse a lot more atoms, extract a few tags. One might even
mistake this for tag support. Maybe it is.
* gst/qtdemux/qtdemux.h:
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_add_stream), (qtdemux_parse),
(qtdemux_parse_trak), (get_size), (gst_qtdemux_handle_esds): Hacked
up qtdemux to make it spit out codec_data. Do _not_ look at this
code; you will no longer respect me.
Original commit message from CVS:
* ext/jpeg/gstjpegdec.c: (gst_jpegdec_get_type):
* ext/jpeg/gstjpegenc.c: (gst_jpegenc_get_type),
(gst_jpegenc_getcaps):
move format setting to inner loop
* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
(gst_ffmpegcolorspace_getcaps):
use GST_PAD_CAPS if available so that we use already negotiated
caps
* gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_header),
(qtdemux_parse_moov), (qtdemux_parse):
extra debugging
* sys/qcam/qcam-Linux.c: (qc_lock_wait), (qc_unlock):
* sys/qcam/qcam-os.c: (qc_lock_wait), (qc_unlock):
move hardcoded path to DEFINE
Original commit message from CVS:
* ext/divx/gstdivxdec.c: (plugin_init):
Remove comment that makes no sense.
* ext/mad/gstid3tag.c: (gst_id3_tag_set_property):
Fix for obvious typo that resulted in warnings during gst-register.
* ext/xvid/gstxviddec.c: (gst_xviddec_src_link),
(gst_xviddec_sink_link):
Fix caps negotiation a bit better.
* gst/qtdemux/qtdemux.c: (qtdemux_parse_trak):
We call this 'codec_data', not 'esds'.
Original commit message from CVS:
* gst/monoscope/gstmonoscope.c:
make sure we only provide 256x128
* gst/monoscope/monoscope.c: (monoscope_init):
assert size of 256x128
Original commit message from CVS:
* gst/wavparse/gstwavparse.c: (gst_wavparse_create_sourcepad),
(gst_wavparse_parse_fmt), (gst_wavparse_handle_sink_event),
(gst_wavparse_loop):
Missing variable initialization. Add handling of DVI ADPCM. Fix
mis-parsing of LIST chunks. This works around a bug where we mis-
parse non-aligning LIST chunks (so LIST chunks where the contents
don't align with the actual LIST size). The correct fix is to use
rifflib, I'm not going to fix wavparse - too much work. All this
fixes#104878.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_handle_sink_event),
(qtdemux_parse), (qtdemux_type_get), (qtdemux_dump_mvhd),
(qtdemux_dump_tkhd), (qtdemux_dump_stsd), (qtdemux_dump_unknown),
(qtdemux_parse_trak), (qtdemux_video_caps), (qtdemux_audio_caps):
A number of new features and hacks to extract the esds atom and
put it into the caps. (bug #137724)
Original commit message from CVS:
* gconf/Makefile.am: Fix for non-GNU make
* gst-libs/gst/Makefile.am: Change directory order to handle
GstPlay linking with gstinterfaces
* gst-libs/gst/audio/make_filter: make use of tr portable
* gst-libs/gst/play/Makefile.am: Add intended \
* gst-libs/gst/xwindowlistener/xwindowlistener.c:
(gst_xwin_set_clips): Switch to ISO variadic macro. Use a
function prototype instead of void *.
* gst/ffmpegcolorspace/gstffmpegcodecmap.c: Switch to ISO variadic
macro.
* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
(gst_ffmpegcolorspace_chain): wrap NULL in GST_ELEMENT_ERROR call
* gst/videofilter/make_filter: make use of tr portable
* pkgconfig/Makefile.am: Remove GNU extension in Makefile target
Original commit message from CVS:
* gst/wavparse/gstwavparse.c: (gst_wavparse_init),
(gst_wavparse_destroy_sourcepad), (gst_wavparse_create_sourcepad),
(gst_wavparse_parse_fmt), (gst_wavparse_change_state):
Hack to make wavparse work with spider (always -> sometimes pad).
Fixes#135862 && #140411.
Original commit message from CVS:
reviewed by: <delete if not using a buddy>
* gst-libs/gst/riff/riff-media.c:
(gst_riff_create_video_caps_with_data),
(gst_riff_create_video_caps), (gst_riff_create_audio_caps),
(gst_riff_create_video_template_caps),
(gst_riff_create_audio_template_caps):
* gst-libs/gst/riff/riff-media.h:
* gst-libs/gst/riff/riff-read.c:
(gst_riff_read_strf_vids_with_data), (gst_riff_read_strf_vids):
* gst-libs/gst/riff/riff-read.h:
* gst/avi/gstavidemux.c: (gst_avi_demux_add_stream):
Add MS RLE support. I added some functions to read out strf chunks
into strf chunks and the data behind it. This is usually color
palettes (as in RLE, but also in 8-bit RGB). Also use those during
caps creation. Lastly, add ADPCM (similar to wavparse - which
should eventually be rifflib based).
* gst/matroska/matroska-demux.c: (gst_matroska_demux_class_init),
(gst_matroska_demux_init), (gst_matroska_demux_reset):
* gst/matroska/matroska-demux.h:
Remove placeholders for some prehistoric tagging system. Didn't add
support for any tag system really anyway.
* gst/qtdemux/qtdemux.c:
Add support for audio/x-m4a (MPEG-4) through spider.
* gst/wavparse/gstwavparse.c: (gst_wavparse_parse_fmt),
(gst_wavparse_loop):
ADPCM support (#135862). Increase max. buffer size because we
cannot split buffers for ADPCM (screws references) and I've seen
files with 2048 byte chunks. 4096 seems safe for now.
Original commit message from CVS:
* common/m4/gst-feature.m4: Call -config scripts with
--plugin-libs if it is supported.
* gst/avi/gstavimux.c: (gst_avimux_vidsinkconnect): sequences of
JPEG images are image/jpeg.
* gst/debug/Makefile.am:
* gst/debug/negotiation.c: (gst_negotiation_class_init),
(gst_negotiation_getcaps), (gst_negotiation_pad_link),
(gst_negotiation_update_caps), (gst_negotiation_get_property),
(gst_negotiation_plugin_init): Add a property that acts like
filter caps.
* testsuite/gst-lint: Move license checking to be a standard
test.
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps),
(gst_riff_create_video_template_caps):
Add MS video v1.
* gst/avi/gstavidemux.c: (gst_avi_demux_stream_index),
(gst_avi_demux_stream_data):
Add support for "rec-list" chunks.
Original commit message from CVS:
a52dec: Use a debug category, Output timestamps correctly
Emit tag info, Handle events, tell liba52dec about cpu
capabilities so it can use MMX etc.
dvdec: Fix a crasher accessing invalid memory
dvdnavsrc:Some support for byte-format seeking.
Small fixes for still frames and menu button overlays
mpeg2dec: Use a debug category. Adjust the report level of several items to
LOG. Call mpeg2_custom_fbuf to mark our buffers as 'custom buffers'
so it doesn't lose the GstBuffer pointer
navseek: Add the navseek debug element for seeking back and forth in a
video stream using arrow keys.
mpeg2subt:Pretty much a complete rewrite. Now a loopbased element. May still
require work to properly synchronise subtitle buffers.
mpegdemux:
dvddemux: Don't attempt to create subbuffers of size 0
Reduce a couple of error outputs to warnings.
y4mencode:Output the y4m frame header correctly
Original commit message from CVS:
* gst/audioscale/gstaudioscale.c: (gst_audioscale_expand_value),
(gst_audioscale_getcaps): Fix getcaps to expand and union lists.
(bug #138225)
* gst/debug/Makefile.am:
* gst/debug/breakmydata.c: (gst_break_my_data_plugin_init):
* gst/debug/gstdebug.c: (plugin_init): Merge elements into one
plugin.
* gst/debug/negotiation.c: (gst_gst_negotiation_get_type),
(gst_negotiation_base_init), (gst_negotiation_class_init),
(gst_negotiation_init), (gst_negotiation_getcaps),
(gst_negotiation_pad_link), (gst_negotiation_chain),
(gst_negotiation_set_property), (gst_negotiation_get_property),
(gst_negotiation_plugin_init): New element to talk about random
negotiation things happening in a pipeline.
Original commit message from CVS:
* ext/alsa/gstalsa.c: (gst_alsa_fixate): Don't fixate fields that
aren't in the caps.
* gst/sine/gstsinesrc.c: change rate caps to [1,MAX]
* gst/videocrop/gstvideocrop.c: (plugin_init): Change rank to NONE.
Original commit message from CVS:
* gst/law/alaw-decode.c: (alawdec_getcaps), (alawdec_link),
(gst_alawdec_base_init), (gst_alawdec_class_init),
(gst_alawdec_init), (gst_alawdec_chain):
* gst/law/alaw-encode.c: (alawenc_getcaps), (alawenc_link),
(gst_alawenc_base_init), (gst_alawenc_class_init),
(gst_alawenc_init), (gst_alawenc_chain):
* gst/law/mulaw-decode.c: (mulawdec_getcaps), (mulawdec_link),
(gst_mulawdec_base_init), (gst_mulawdec_class_init),
(gst_mulawdec_init), (gst_mulawdec_chain):
* gst/law/mulaw-encode.c: (mulawenc_getcaps), (mulawenc_link),
(gst_mulawenc_base_init), (gst_mulawenc_class_init),
(gst_mulawenc_init), (gst_mulawenc_chain):
Fix capsnego in all four, remove the unused property functions and
simplify the chain functions slightly. I guess we could use macros
or something similar for those, since the code is so similar, but
I'm currently too lazy...
Original commit message from CVS:
* gst/debug/Makefile.am:
* gst/debug/breakmydata.c:
add element that quasi-randomly changes bytes in the stream.
Intended use is robustness checking of demuxers and decoders in
media tests.
Original commit message from CVS:
* ext/gnomevfs/gstgnomevfssrc.c: (gst_gnomevfssrc_set_property):
don't g_return_if_fail if element is PLAYING, fail silently as every
other element.
* gst/effectv/gstquark.c: (gst_quarktv_chain):
only fix needed for cast lvalue issues in gst-plugins
* gst/volenv/gstvolenv.c: (gst_volenv_init):
add proxy_getcaps
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (qtdemux_parse_trak):
Fix for obvious mistake, where we first shift the offset and then
read a samplesize element assuming the old offset. Note that this
part still has something weird, i.e. my movies containing those
don't actually play well, but at least there's something that looks
like sound now.
Original commit message from CVS:
Port all elements that can be ported to videofilter, and fix up the caps.
Can someone with a big-endian machine please check them?
Original commit message from CVS:
* ext/lcs/Makefile.am: Fix so that the lcs colorspace plugin
doesn't conflict with the internal colorspace plugin.
* gst-libs/gst/audio/make_filter: Use `` instead of $() to
satisfy the crappy-ass shell shipped by a certain vendor.
* gst/videofilter/make_filter: same (bug #135299)
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_add_stream),
(qtdemux_parse_trak):
Fix crash (j might be greater than n_samples, in which case we're
writing outside the allocated space for the array) and memleak.
Original commit message from CVS:
* ext/aalib/gstaasink.c: (gst_aasink_fixate), (gst_aasink_init):
Add fixate function. (bug #131128)
* ext/sdl/sdlvideosink.c: (gst_sdlvideosink_init),
(gst_sdlvideosink_fixate): Add fixate function.
* gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_link):
Fix attempt to print a non-pointer using GST_PTR_FORMAT.
* gst/wavparse/gstwavparse.c: (gst_wavparse_parse_fmt):
Fix missing break that was causing ulaw to be interpreted as
raw int.
Original commit message from CVS:
* ext/faad/gstfaad.c: (gst_faad_init), (gst_faad_srcgetcaps),
(gst_faad_chain): Fix negotiation.
* ext/librfb/gstrfbsrc.c: (gst_rfbsrc_handle_src_event): Add
key and button events.
* gst-libs/gst/floatcast/floatcast.h: Fix a minor bug in this
dung heap of code.
* gst-libs/gst/gconf/gstreamer-gconf-uninstalled.pc.in: gstgconf
depends on gconf
* gst-libs/gst/gconf/gstreamer-gconf.pc.in: same
* gst-libs/gst/play/play.c: (gst_play_pipeline_setup),
(gst_play_video_fixate), (gst_play_audio_fixate): Add a fixate
function to encourage better negotiation, particularly between
audioconvert and osssink.
* gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_chain):
* gst/qtdemux/qtdemux.c: (qtdemux_parse_trak): Make some debugging
more important.
* gst/typefind/gsttypefindfunctions.c: Fix mistake in flash
typefinding.
* gst/vbidec/vbiscreen.c: Add glib header
* pkgconfig/gstreamer-play.pc.in: Depends on gst-interfaces.
Original commit message from CVS:
reviewed by David Schleef
* gst/videofilter/gstgamma.c: (gst_gamma_rgb32): Fix typo that
modified the alpha channel and caused a warning. (bug #136192)
Original commit message from CVS:
* gst-libs/gst/colorbalance/Makefile.am:
* gst-libs/gst/mixer/Makefile.am:
* gst-libs/gst/tuner/Makefile.am:
* gst/level/Makefile.am: -marshal.[ch] and -enum.[ch] files
should not be disted, -marshal.h files should not be installed,
and -enum.h files _should_ be installed. Fix to make this the
case.
Original commit message from CVS:
reviewed by: David Schleef <ds@schleef.org>
* gst/videofilter/gstgamma.c: (gst_gamma_class_init),
(gst_gamma_init), (gst_gamma_set_property),
(gst_gamma_get_property), (gst_gamma_calculate_tables),
(gst_gamma_rgb24), (gst_gamma_rgb32): Adds gamma correction
for RGB, with separate r g and b correction factors.
Original commit message from CVS:
2004-02-20 Benjamin Otte <otte@gnome.org>
* ext/xine/Makefile.am:
* ext/xine/gstxine.h:
* ext/xine/xine.c:
* ext/xine/xineaudiodec.c:
* ext/xine/xinecaps.c:
add first version of xine plugin wrapper. Currently only wraps the
QDM2 win32 DLL, and even that only in proof-of-concept quality.
* configure.ac:
* ext/Makefile.am:
add xine plugin wrapper, disabled by default. Use --enable-xine to
build. Note that it'll segfault on gst-register if you don't remove
the goom and tvtime post plugins from xine.
* gst/qtdemux/qtdemux.c: (gst_qtdemux_handle_sink_event),
(qtdemux_parse), (qtdemux_parse_trak), (qtdemux_audio_caps):
add extradata parsing for QDM2.
change around debugging prints.
Original commit message from CVS:
Convert a few inner loops to use liboil. This is currently
optional, and is only enabled if liboil is present (duh!).
* configure.ac: Check for liboil-0.1
* gst/intfloat/Makefile.am:
* gst/intfloat/gstint2float.c: (conv_f32_s16), (scalarmult_f32),
(gst_int2float_chain_gint16):
* gst/videofilter/Makefile.am:
* gst/videofilter/gstvideobalance.c: (gst_videobalance_class_init),
(tablelookup_u8), (gst_videobalance_planar411):
* gst/videotestsrc/Makefile.am:
* gst/videotestsrc/gstvideotestsrc.c: (plugin_init):
* gst/videotestsrc/videotestsrc.c: (splat_u8), (paint_hline_YUY2),
(paint_hline_IYU2), (paint_hline_str4), (paint_hline_str3),
(paint_hline_RGB565), (paint_hline_xRGB1555):
Original commit message from CVS:
2004-02-03 Benjamin Otte <in7y118@public.uni-hamburg.de>
* gst/qtdemux/qtdemux.c: (gst_qtdemux_add_stream):
set explicit caps before adding the element, so the autopluggers can
plug correctly.
* gst/typefind/gsttypefindfunctions.c: (mp3_type_find),
(mpeg2_sys_type_find), (mpeg1_sys_type_find),
(mpeg_video_type_find), (mpeg_video_stream_type_find),
(dv_type_find):
fix memleaks in typefind functions. gst_type_find_suggest takes a const
argument.
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.
Original commit message from CVS:
* gst/ac3parse/gstac3parse.c: update to checklist 5
* gst/adder/gstadder.c: rewrite negotiation. update to checklist 5
* gst/audioconvert/gstaudioconvert.c: update to checklist 5
* gst/audioscale/gstaudioscale.c: same
* gst/auparse/gstauparse.c: same
* gst/avi/gstavidemux.c: same
Original commit message from CVS:
2004-01-27 Benjamin Otte <in7y118@public.uni-hamburg.de>
* gst/asfdemux/asfheaders.h:
* gst/asfdemux/gstasfdemux.c:
* gst/asfdemux/gstasfmux.c: (gst_asfmux_put_guid),
(gst_asfmux_put_string), (gst_asfmux_put_wav_header),
(gst_asfmux_put_vid_header), (gst_asfmux_put_bmp_header):
lot's of fixes to make data extraction simpler and get the code
architecture and compiler independant. Add debugging category
* gst/goom/gstgoom.c: (gst_goom_change_state):
reset channel count on PAUSED=>READY, not READY=>PAUSED
Original commit message from CVS:
2004-01-26 Jeremy Simon <jesimon@libertysurf.fr>
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps),
(gst_ffmpeg_caps_to_extradata), (gst_ffmpeg_caps_to_pixfmt):
* gst/qtdemux/qtdemux.c: (plugin_init), (qtdemux_parse_trak),
(qtdemux_video_caps):
* gst/qtdemux/qtdemux.h:
Add SVQ3 specific flags to qtdemux and ffmpeg
Original commit message from CVS:
2004-01-25 Ronald Bultje <rbultje@ronald.bitfreak.net>
* gst/avi/gstavidemux.c: (gst_avi_demux_stream_avih),
(gst_avi_demux_stream_odml), (gst_avi_demux_stream_index):
The index reading was broken. The rest worked fine, but the whole
goal of my rewrite was to make avidemux readable, and this was
not at all readable. Please use typed variables.
Original commit message from CVS:
2004-01-23 Benjamin Otte <in7y118@public.uni-hamburg.de>
* gst/avi/gstavidemux.c: (gst_avi_demux_stream_avih),
(gst_avi_demux_stream_odml), (gst_avi_demux_stream_index):
don't write to buffer. Extract data without the need of
__attribute__ ((packed))
Original commit message from CVS:
* gst/videofilter/gstvideobalance.c: Fix regression; changing a
property affects the video stream.
* sys/xvimage/xvimagesink.c:
* sys/xvimage/xvimagesink.h:
Add synchronous property for debugging. Should probably be
disabled in non-CVS builds. Make sure that the Xv attribute
exists before we set it (crash!). Fix a silly float bug that
caused colorbalance to just not work.
Original commit message from CVS:
* ext/esd/esdsink.c: (gst_esdsink_class_init): Remove property
that handles osssink fallback.
* gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_init),
(gst_audio_convert_getcaps):
* gst/qtdemux/qtdemux.c: (qtdemux_audio_caps):
Add audio/x-qdm2 for QDM2 audio.
* gst/sine/gstsinesrc.c: (gst_sinesrc_get):
* gst/sine/gstsinesrc.h: Add example of how to implement tags.
* gst/videoscale/gstvideoscale.c: (gst_videoscale_getcaps):
Decrease minimum size to 16x16.
* gst/wavparse/gstwavparse.c:
Convert disabled pad template caps to new caps.
* sys/ximage/ximagesink.c: (gst_ximagesink_xcontext_get):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_xcontext_get),
(gst_xvimagesink_chain): Throw element error when display cannot
be opened. Increase minimum framerate to 1.0. Check the data
free function on a buffer to make sure it is the type we expect
before manipulating it.
Original commit message from CVS:
2004-01-15 Julien MOUTTE <julien@moutte.net>
* gst/videofilter/gstvideobalance.c: (gst_videobalance_init),
(gst_videobalance_colorbalance_set_value): Implement passthru if
settings are in the middle.
* tools/gst-launch-ext.in: Stop using xvideosink, use ximagesink.
Original commit message from CVS:
2004-01-15 Ronald Bultje <rbultje@ronald.bitfreak.net>
* gst/videofilter/Makefile.am:
* gst/volume/Makefile.am:
Since we use videofilter symbols, link to it.
Original commit message from CVS:
2004-01-14 Julien MOUTTE <julien@moutte.net>
* gst/videofilter/gstvideobalance.c: (gst_videobalance_init),
(gst_videobalance_colorbalance_set_value),
(gst_videobalance_colorbalance_get_value): Fixing videobalance ranges
for colorbalance interface implementation.
* sys/ximage/ximagesink.c: (gst_ximagesink_xcontext_get),
(gst_ximagesink_set_property), (gst_ximagesink_get_property),
(gst_ximagesink_dispose), (gst_ximagesink_init),
(gst_ximagesink_class_init): Adding DISPLAY property.
* sys/ximage/ximagesink.h: Adding display_name to store display.
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_xcontext_get),
(gst_xvimagesink_set_property), (gst_xvimagesink_get_property),
(gst_xvimagesink_dispose), (gst_xvimagesink_init),
(gst_xvimagesink_class_init): Adding DISPLAY property and colorbalance
properties (they still need polishing though for gst-launch use : no
xcontext yet, i ll do that tomorrow).
* sys/xvimage/xvimagesink.h: Adding display_name to store display.
Original commit message from CVS:
2004-01-14 Julien MOUTTE <julien@moutte.net>
* gst-libs/gst/colorbalance/colorbalance.c:
(gst_color_balance_class_init): Adding a default type.
* gst-libs/gst/colorbalance/colorbalance.h: Adding a macro to access
the type.
* gst/videofilter/gstvideobalance.c: (gst_videobalance_get_type),
(gst_videobalance_dispose), (gst_videobalance_class_init),
(gst_videobalance_init), (gst_videobalance_interface_supported),
(gst_videobalance_interface_init),
(gst_videobalance_colorbalance_list_channels),
(gst_videobalance_colorbalance_set_value),
(gst_videobalance_colorbalance_get_value),
(gst_videobalance_colorbalance_init): Implementing colorbalance
interface.
* gst/videofilter/gstvideobalance.h: Adding colorbalance channels
list.
* sys/ximage/ximagesink.c: (gst_ximagesink_set_xwindow_id): Fixing a
bug which was triggering a BadAccess X error when setting an overlay
before pad was really negotiated.
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_colorbalance_init):
Using the colorbalance type macro.
Original commit message from CVS:
2004-01-14 Ronald Bultje <rbultje@ronald.bitfreak.net>
* gst/matroska/matroska-demux.c: (gst_matroska_demux_add_stream):
Fix for using incremental number on padnames.
Original commit message from CVS:
2004-01-14 Ronald Bultje <rbultje@ronald.bitfreak.net>
* ext/divx/gstdivxdec.c:
* ext/divx/gstdivxenc.c:
Set category to divx4linux instead of divx (too generic).
* gst/wavparse/gstwavparse.c: (gst_wavparse_init),
(gst_wavparse_parse_fmt), (gst_wavparse_handle_sink_event),
(gst_wavparse_loop), (gst_wavparse_change_state):
* gst/wavparse/gstwavparse.h:
fix parsing of WAV files with non-standard fmt-tag size and fix
skipping of unrecognized chunks... Someone please fix this thing
to use rifflib so all this is automated.
* sys/v4l/Makefile.am:
* sys/v4l2/Makefile.am:
Add X_CFLAGS because we depend on X (for overlay).
Original commit message from CVS:
2004-01-13 Julien MOUTTE <julien@moutte.net>
* gst-libs/gst/colorbalance/colorbalance.h: Adding a type to the
colorbalance interface stating if it is hardware based or software
based.
* gst/videofilter/gstvideobalance.c: (gst_videobalance_planar411):
Removing a trailing comma.
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_xcontext_get),
(gst_xvimagesink_colorbalance_init): Integrating a patch from Jon
Trowbridge <trow@ximian.com> querying Xv adaptor for min/max value as
the documentation seems to be wrong on the -1000 to 1000 interval.
Original commit message from CVS:
* gst/debug/efence.c: (gst_efence_init), (gst_efence_chain),
(gst_efence_buffer_alloc), (gst_fenced_buffer_new),
(gst_fenced_buffer_default_free), (gst_fenced_buffer_default_copy):
Fix negotiation. Add a bufferalloc function for the sink pad,
and generally clean up some of the code.
Original commit message from CVS:
Remove all usage of gst_pad_get_caps(), and replace it with
gst_pad_get_allowed_caps() or gst_pad_get_negotiated_cap().
Original commit message from CVS:
* ext/divx/gstdivxenc.c: remove bogus gst_caps_is_fixed() test
* gst/debug/efence.c: (gst_efence_chain), (gst_fenced_buffer_new),
(gst_fenced_buffer_default_copy): Fix for rename of buffer private
structure members.
* gst/effectv/gstwarp.c: (gst_warptv_setup): Don't reset the time
value during a resize/renegotiation.
* gst/videofilter/gstvideofilter.c: (gst_videofilter_chain): use
gst_pad_alloc_buffer();
* sys/v4l/gstv4lmjpegsrc.c: (gst_v4lmjpegsrc_get),
(gst_v4lmjpegsrc_buffer_free): Fix for rename of buffer private
structure members.
* sys/v4l/gstv4lsrc.c: (gst_v4lsrc_get), (gst_v4lsrc_buffer_free):
Fix for rename of buffer private structure members.
* sys/ximage/ximagesink.c: (gst_ximagesink_chain),
(gst_ximagesink_buffer_free), (gst_ximagesink_buffer_alloc):
Fix for rename of buffer private structure members.
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_chain),
(gst_xvimagesink_buffer_free), (gst_xvimagesink_buffer_alloc):
Fix for rename of buffer private structure members.
Original commit message from CVS:
* gst/effectv/gstaging.c: (gst_agingtv_get_type),
(gst_agingtv_base_init), (gst_agingtv_class_init),
(gst_agingtv_init), (gst_agingtv_setup), (gst_agingtv_rgb32),
(gst_agingtv_set_property), (gst_agingtv_get_property):
Port agingTV to videofilter
Original commit message from CVS:
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_connect):
Fix pad_link function to handle formats that ffmpeg returns
as multiple caps structures.
* gst/videofilter/gstvideofilter.c: (gst_videofilter_chain):
Only complain if source buffer is _smaller_ than expected.
* gst/videoscale/gstvideoscale.c: (gst_videoscale_init),
(gst_videoscale_handle_src_event): Resize navigation events
when passing them upstream.
* gst/videotestsrc/gstvideotestsrc.c:
* gst/videotestsrc/gstvideotestsrc.h:
* gst/videotestsrc/videotestsrc.c:
* gst/videotestsrc/videotestsrc.h:
Rewrite many of the buffer painting functions to handle odd
sizes (for many formats, size%4!=0 or size%8!=0). Most have
been verified to work with my video card.
* testsuite/gst-lint: Add check for elements calling
gst_pad_get_caps() instead of gst_pad_get_allowed_caps().
Original commit message from CVS:
2004-01-08 Ronald Bultje <rbultje@ronald.bitfreak.net>
* gst/median/gstmedian.c: (gst_median_link), (gst_median_init):
Fix capsnego.
Original commit message from CVS:
2004-01-07 Ronald Bultje <rbultje@ronald.bitfreak.net>
* ext/audiofile/gstafsink.c: (gst_afsink_init), (gst_afsink_chain),
(gst_afsink_handle_event):
* ext/jpeg/gstjpegenc.c: (gst_jpegenc_init):
* gst/avi/gstavimux.c: (gst_avimux_request_new_pad):
* sys/dxr3/dxr3audiosink.c: (dxr3audiosink_init):
* sys/dxr3/dxr3spusink.c: (dxr3spusink_init):
* sys/dxr3/dxr3videosink.c: (dxr3videosink_init):
Fix for instantiate-test (see core). Also remove dead code from
jpegenc (which still needs fixing, but that's lower on my TODO
list...).
* sys/v4l2/gstv4l2src.c: (gst_v4l2src_getcaps):
Never return NULL as caps.
Original commit message from CVS:
2004-01-04 Ronald Bultje <rbultje@ronald.bitfreak.net>
* gst/matroska/matroska-demux.c:
Fix EBML-laced block parsing. Diffs are relative to previous
lace, not the first lace. Thanks to Mosu from the Matroska
team for detecting this.
(gst_matroska_demux_parse_blockgroup):
* gst/wavparse/gstwavparse.c: (gst_wavparse_init),
(gst_wavparse_parse_fmt), (gst_wavparse_getcaps),
(gst_wavparse_handle_sink_event), (gst_wavparse_loop),
(gst_wavparse_change_state):
* gst/wavparse/gstwavparse.h:
Quickfix for capsnego.
Original commit message from CVS:
2004-01-04 Ronald Bultje <rbultje@ronald.bitfreak.net>
* gst/wavenc/gstwavenc.c: (set_property), (gst_wavenc_init):
Fix indenting, fix pad creation.
Original commit message from CVS:
2004-01-04 Ronald Bultje <rbultje@ronald.bitfreak.net>
* gst/matroska/matroska-demux.c: (gst_matroska_demux_src_getcaps),
(gst_matroska_demux_add_stream):
* gst/matroska/matroska-ids.h:
Add getcaps() function to fix capsnego...
Original commit message from CVS:
2004-01-03 Ronald Bultje <rbultje@ronald.bitfreak.net>
* gst/rtp/rtp-packet.c:
Add sys/types.h include, since OS X doesn't define in_addr_t
in netinet/in.h, like it does on Linux (see #129600).
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.
Original commit message from CVS:
2004-01-01 Ronald Bultje <rbultje@ronald.bitfreak.net>
* configure.ac:
Fix configure check for mpeg2enc. We need 1.6.1.93 instead of
1.6.1.92, since the pkg-config file of 1.6.1.92 is borked and
it therefore uses the wrong include paths. Too bad... Note
that 1.6.1.93 is not release yet. ;).
Also add a check for mplex, which is now using the lib'ified
mplex from mjpegtools, too.
* ext/ffmpeg/gstffmpegcodecmap.c:
Add codec_tag for 3ivx/xvid. For xvid, this should fix playback
issues. I don't think ffmpeg handles 3ivx correctly, so this
probably won't work. But it won't hurt either.
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_connect),
(gst_ffmpegdec_chain):
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_connect),
(gst_ffmpegenc_chain_audio):
Fix memleak in audio encoding. Close codec if open fails, this
calls the cleanup routines so we can re-use the context.
* ext/mpeg2enc/gstmpeg2enc.cc:
Fix pad template names/types, fix memory issue with getcaps().
* ext/mpeg2enc/gstmpeg2encoder.cc:
* ext/mpeg2enc/gstmpeg2encoder.hh:
Fix compile issue with new caps system (const thingy).
* ext/mpeg2enc/gstmpeg2encpicturereader.cc:
* ext/mpeg2enc/gstmpeg2encpicturereader.hh:
We read a first frame right on initing, so that we have a caps
when we init the output. This caps is cached in padprivate and
read as first frame.
* ext/mplex/Makefile.am:
* ext/mplex/gstmplex.cc:
* ext/mplex/gstmplex.h:
* ext/mplex/gstmplex.hh:
* ext/mplex/gstmplexibitstream.cc:
* ext/mplex/gstmplexibitstream.hh:
* ext/mplex/gstmplexjob.cc:
* ext/mplex/gstmplexjob.hh:
* ext/mplex/gstmplexoutputstream.cc:
* ext/mplex/gstmplexoutputstream.hh:
We wrap mjpegtools mplex. So I rewrote the plugin. The old plugin
had issues, didn't do capsnego, supported only a subset of the
mplex features and required a mplex fork in our local CVS. Plus
that it worked agaist a very old mplex version. Rewriting was
faster than updating it.
* gst-libs/ext/Makefile.am:
* gst-libs/ext/mplex/INSTRUCT:
* gst-libs/ext/mplex/Makefile.am:
* gst-libs/ext/mplex/README:
* gst-libs/ext/mplex/TODO:
* gst-libs/ext/mplex/ac3strm_in.cc:
* gst-libs/ext/mplex/audiostrm.hh:
* gst-libs/ext/mplex/audiostrm_out.cc:
* gst-libs/ext/mplex/aunit.hh:
* gst-libs/ext/mplex/bits.cc:
* gst-libs/ext/mplex/bits.hh:
* gst-libs/ext/mplex/buffer.cc:
* gst-libs/ext/mplex/buffer.hh:
* gst-libs/ext/mplex/fastintfns.h:
* gst-libs/ext/mplex/format_codes.h:
* gst-libs/ext/mplex/inputstrm.cc:
* gst-libs/ext/mplex/inputstrm.hh:
* gst-libs/ext/mplex/lpcmstrm_in.cc:
* gst-libs/ext/mplex/mjpeg_logging.cc:
* gst-libs/ext/mplex/mjpeg_logging.h:
* gst-libs/ext/mplex/mjpeg_types.h:
* gst-libs/ext/mplex/mpastrm_in.cc:
* gst-libs/ext/mplex/mpegconsts.cc:
* gst-libs/ext/mplex/mpegconsts.h:
* gst-libs/ext/mplex/mplexconsts.hh:
* gst-libs/ext/mplex/multplex.cc:
* gst-libs/ext/mplex/outputstream.hh:
* gst-libs/ext/mplex/padstrm.cc:
* gst-libs/ext/mplex/padstrm.hh:
* gst-libs/ext/mplex/stillsstream.cc:
* gst-libs/ext/mplex/stillsstream.hh:
* gst-libs/ext/mplex/systems.cc:
* gst-libs/ext/mplex/systems.hh:
* gst-libs/ext/mplex/vector.cc:
* gst-libs/ext/mplex/vector.hh:
* gst-libs/ext/mplex/videostrm.hh:
* gst-libs/ext/mplex/videostrm_in.cc:
* gst-libs/ext/mplex/videostrm_out.cc:
* gst-libs/ext/mplex/yuv4mpeg.cc:
* gst-libs/ext/mplex/yuv4mpeg.h:
* gst-libs/ext/mplex/yuv4mpeg_intern.h:
* gst-libs/ext/mplex/yuv4mpeg_ratio.cc:
We don't fork mjpegtools' mplex in our CVS anymore.
* gst/avi/gstavidemux.c: (gst_avi_demux_src_getcaps),
(gst_avi_demux_add_stream):
* gst/avi/gstavidemux.h:
Add getcaps() function for proper caps nego. This makes some
parts of AVI playback/reading work.
* sys/ximage/ximagesink.c: (gst_ximagesink_sinkconnect):
Resize window on new capsnego. This is probably wrong, but
I'm still committing it because with current capsnego, the
first successfull capsnego is auto-fixated, therefore rounded
down to the lowest values in the caps. this results in a 16x16
XWindow that is not reized when real capsnego finishes.
Dave, I see more cases of this, do you know a proper solution?
* tools/gst-launch-ext.in:
Fix MPEG-4 AAC (Apple iPod/iTunes) file commandline.
Original commit message from CVS:
2003-12-22 Benjamin Otte <in7y118@public.uni-hamburg.de>
* gst/qtdemux/qtdemux.c: (plugin_init):
qtdemux requires bytestream
Original commit message from CVS:
2003-12-21 Ronald Bultje <rbultje@ronald.bitfreak.net>
* configure.ac:
Improve mpeg2enc detection. This is for distributions that do
ship mjpegtools, but without mpeg2enc. Also does object check
for might there ever be ABI incompatibility.
* ext/mpeg2enc/gstmpeg2enc.cc:
Add Andrew as second maintainer (he's helping me), and also add
an error if no caps was set. This happens if I pull before capsnego
and that's something I should solve sometime else.
* gst/matroska/matroska-demux.c:
(gst_matroska_demux_parse_blockgroup):
Fix time parsing.
* gst/matroska/matroska-mux.c: (gst_matroska_mux_audio_pad_link),
(gst_matroska_mux_track_header):
Add caps to templates.
* gst/mpegaudioparse/gstmpegaudioparse.c: (mp3_sink_factory):
Add mpegversion=1 to prevent confusion with MPEG/AAC.
* gst/mpegstream/gstmpegdemux.c:
Remove layer since it causes warnings about unfixed caps.
* gst/videotestsrc/gstvideotestsrc.c: (gst_videotestsrc_get):
Fix obvious typo (we error out if caps were set, we should of
course error out if *no* caps were set).
* sys/oss/gstosselement.c: (gst_osselement_convert):
Fix format conversion, we confused bits/bytes.
* sys/oss/gstosselement.h:
Improve documentation for 'bps'.
* sys/v4l/TODO:
Remove stuff about plugins that need removing - this was done
ages ago.
* sys/v4l/gstv4lmjpegsrc.c: (gst_v4lmjpegsrc_init),
(gst_v4lmjpegsrc_src_convert), (gst_v4lmjpegsrc_src_query):
* sys/v4l/gstv4lsrc.c: (gst_v4lsrc_init), (gst_v4lsrc_src_convert),
(gst_v4lsrc_src_query):
* sys/v4l2/gstv4l2src.c: (gst_v4l2src_init),
(gst_v4l2src_src_convert), (gst_v4l2src_src_query):
Add get_query_types(), get_formats() and query() functions.
Original commit message from CVS:
Sorry Dave... Add mpegversion=1 to mp3 caps everywhere so that the autoplugger uses mad and not faad for mp3 decoding. This should fix mp3 playback.
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!
Original commit message from CVS:
tagging stuff and build fixes. In detail:
- make gdk-pixbuf loader work when distchecking
- fix invalid syntax in ffmpeg Makefile. wildcards for EXTRA_DIST are not allowed. This broke builds where distdir != srcdir
- fix ffmpeg cvs grabbing when srcdir != distdir
- new id3tag plugin for id3 tag reading/writing (uses mad's libid3tag)
- mad and libid3tag require mad/libid3tag v0.15. Fixed configure to require that
- added ogg demuxer in ext/ogg. The demuxer does not handle events yet. Especially getting seeking right will require some effort or code copying from libvorbis.
- added raw vorbis detection to typefinding. oggdemux requires a typefind function to detect its contents.
- tags plugin in gst/tags. Provides API in <gst/tags/gsttagediting.h>. API includes tag matching GStreamer <=> ID3 and GStreamer <=> vorbis and writing/reading vorbiscomments or ID3v1 tags. Also included is a simple vorbiscomment reader/writer. Writing will not really work though until someone writes oggmux.
- various build fixes. Mostly missing (DIST)CLEANFILES.
- vorbisenc handles tag writing.
Now it's YOUR turn to fix and write more plugins that handle writing/reading of tags. :)
Original commit message from CVS:
Remove all config.h includes from header files, add it to each source file and remove duplicate config.h includes from several source files
Original commit message from CVS:
Add a local copy of riff.h as we don't use rifflib anymore.
Rewrite the main loop to use bytestreams instead of rifflib. Make it a loopbased
filter.
Handle metadata, cues and labels as well
Original commit message from CVS:
merge TYPEFIND branch. Major changes:
- totally reworked type(find) system
- all typefind functions are in gst/typefind now
- more typefind functions then before
- some plugins might fail to compile now because I don't have them installed and they
a) require bytestream or
b) haven't had their typefind fixed.
Please fix those plugins and put the typefind functions into gst/typefind if they don't have dependencies
Original commit message from CVS:
Add a parser for metadata
(demux_metadata): Given the buffer containing the metadata, look through it and
get the info out of it.
(wav_new_chunk_callback): Change the if statement to a switch statement.
Handle GST_RIFF_TAG_LIST by changing what the type of list it is and parsing out
metadata if it is "INFO".
Original commit message from CVS:
New typefind system:
* bytestream is now part of the core
* all plugins have been modified to use this new typefind system
* asf typefinding added
* mpeg video stream typefiding removed because it's broken
* duplicate typefind entries removed
* extra id3 typefinding added, because we've seen 4 types of files
(riff/wav, flac, vorbis, mp3) with id3 headers and each of these needs
to work. Instead, I've added an id3 element and let it redo typefiding
after the id3 header. this needs a hack because spider only typefinds
once. We can remove this hack once spider supports multiple typefinds.
* with all this, mp3 typefinding is semi-rewritten
* id3 typefinding in flac/vorbis is removed, it's no longer needed
* fixed spider and gst-typefind to use this, too.
* Other general cleanups
Original commit message from CVS:
Set keyframe flag only when it is a keyframe. This will break quite some formats because many encoders dont set this flag correctly, but I'll fix that as I encounter them. divx5 works correctly now. ;).
Original commit message from CVS:
In the intfloat conversion elements, there were bugs when the float buffer was
bigger than the int buffer (in frames). That's now fixed, some style issues are
"fixed" (subjectively), mallocs are removed from int2float's processing loop,
and the default buffer size was raised to 256 frames to give better performance in
the default case.
Wavenc was modified to not set an event handler on its sink pad. It deals
with EOS in its chain function instead.
Original commit message from CVS:
Fix padding (2 bytes instead of 4), improve index offset calculation, fix some minor other issues and make avimux actually work with mp3 audio
Original commit message from CVS:
Fixes to make it compile without GNOME, and with a modern (>= 0.3)
version of GStreamer. Now that I got it compiled, I want to delete
it.
Original commit message from CVS:
Added #include of config.h so that they symbol "VERSION" could be found.
Also removed GST_CAT_EVENT from a GST_DEBUG line to reflect recent changes
in the debug logic. Now this plugin compiles.
Original commit message from CVS:
New mimetypes gone into effect today - this commit changes all old mimetypes over to the new mimetypes spec as described in the previous commit's document. Note: some plugins will break, some pipelines will break, expect HEAD to be broken or at least not 100% working for a few days, but don't forget to report bugs
Original commit message from CVS:
compatibility fix for new GST_DEBUG stuff.
Includes fixes for missing includes for config.h and unistd.h
I only ensured for plugins I can build that they work, so if some of them are still broken, you gotta fix them yourselves unfortunately.
Original commit message from CVS:
This adds width/height properties to qtdemux, so that it connects to ffdec_*... still doesn't work, because the buffer allocation in ffdec_ allocs too small buffers (edge emulation failure or so?), which causes a segfault. I'm working on that
Original commit message from CVS:
Handle compressed headers. Fix inappropriate use of bytestream_flush().
Code cleanup. Added getcaps and _link functions for src pads. Extract
and set the size,rate,channels correctly. Fix some of the caps to
agree with avidemux and/or ffmpeg.
Original commit message from CVS:
Actually push the event over to the next element instead of leaving it into eternity - thanks for Joshua for detecting
Original commit message from CVS:
Fix avimux (somewhat). Note: the EOS event still doesn't get through. This is completely braindead, I have no clue why, but setting this thing to PAUSE should do the trick too. EOS fix will come later on...
Original commit message from CVS:
Made the SWAP and PREPARE_3D_LINE macros work with gints rather than
using typeof(), since typeof() is a gcc-extension and does not work
with other compilers. This is okay since every place these macros
are used, gints are passed in. I renamed SWAP to SWAP_INT to reflect
that it is not so generic.
Original commit message from CVS:
Corrected the configure.ac so it actually works. Updated some c files
so that they build on Solaris. This mostly involved supporting ISO
style variable-argument macros.
Original commit message from CVS:
Updated autogen.sh/configure.ac and various Makefiles to make the
configure script set up all gcc specific compiler arguments, rather
than hardcoding them in the Makefile.am files
Original commit message from CVS:
Fix typo (incorrect pointer dereference). Change the magic number
for little-endian streams to match with /etc/magic.
Original commit message from CVS:
bugfixes:
- seek correctly on SEEK_METHOD_END
- don't emit a warning when mp3's in wav's have no width information
- use BYTES format on discontinuous events and omit timestamp when invalid (mp3 anyone?)
Original commit message from CVS:
fixes to wavparse:
- endianness is G_LITTLE_ENDIAN and not G_BYTE_ORDER
- support the law formats
- error out on unknown format, don't try to go on (fixes#110516)
- check buffer size before typefinding
Original commit message from CVS:
- new avi demuxer doesn't use a recursive infinite loop anymore
- removed temporary riff.[ch] files
- removed aviparse from build
Original commit message from CVS:
Handle JUNK and dmlh tags and when we find a broken/unknown chunk, just move to the next byte and try to see if it's a known chunk
Original commit message from CVS:
another batch of connect->link fixes
please let me know about issues
and please refrain of making them yourself, so that I don't spend double
the time resolving conflicts
Original commit message from CVS:
(1) Caps nego are now dynamic, the Application developer now have choices: udp, tcp & none.
(2) Broadcast flag set to true on all the udp sockets.
Original commit message from CVS:
Make it loopbased and use only one video and one audio pad. framerate is also no longer a property but is requested from the source pad
Original commit message from CVS:
- reimplemented using organic masks, rendered with gouraud shaded triangles
- implemented more masks
- implemented adjustable border
Original commit message from CVS:
qtdemux.c:315: warning: implicit declaration of function `free'
qtdemux.c:331: warning: implicit declaration of function `malloc'
Original commit message from CVS:
Separate the movi processing loop from the index/entry parsing loop
Detect when the index starts from 0 or from the movi chunck offset
Original commit message from CVS:
add ranks only for plugins who participate in autoplugging. If you have a file that used to autoplug but doesn't anymore, then let me know or add a rank to the missing element.
Original commit message from CVS:
- Changed plugins for new APIs
- modularized audiofile.
- added seeking, query and convert functions for mad, mpeg2dec,
avidemux, mpegdemux, mpegparse
- sync updates to oss. removed the ossclock for now
Original commit message from CVS:
adding new quicktime parser:
- openquicktime free (hense gst/qtdemux)
- no more seeks for parsing -> better for network streams
- uses GstByteStream
- less memcpy's
- long ChangeLog record in pompous style
Original commit message from CVS:
use audio/x-wav instead of audio/wav. I don't know if we have a policy of matching GStreamer types with official mime types, but I figure it can't hurt.
Original commit message from CVS:
* a hack to work around intltool's brokenness
* a current check for mpeg2dec
* details->klass reorganizations
* an element browser that uses details->klass
* separated cdxa parse out from the avi directory
Original commit message from CVS:
fixed rest of warning for gcc 3 in /gst.
fixed some Makefiles: s/-m486/-mcpu=i486/
disabled mpegaudioparse plugin. What good is this rotten code for anyway?
Original commit message from CVS:
* removal of //-style comments
* don't link plugins to core libs -- the versioning is done internally to the plugins with the plugin_info struct,
and symbol resolution is lazy, so we can always know if a plugin can be loaded by the plugin_info data. in theory.
Original commit message from CVS:
s/@GST_PLUGIN_LDFLAGS@/$(GST_PLUGIN_LDFLAGS)/
@-substitued variables variables are defined as make variables automagically,
and this gives the user the freedom to say make GST_PLUGIN_LDFLAGS=-myflag
Original commit message from CVS:
WARNING: avimux is still broken, but less broken than it used to be... Code is under heavy development and will work sooner or later... Uploaded for generic development and testing purposes, not intended for generic use whatsoever
Original commit message from CVS:
made changes everywhere to accomodate for the headers being in
<gst/(lib)/...>
we'll need to conclude this fast because we will also need to change stuff in core real soon for the libs in order to fix everything
and I can't do it right now because I disabled all of the plugins here ;)