Original commit message from CVS:
* ext/flac/gstflacdec.c: (gst_flac_dec_metadata_callback),
(gst_flac_dec_write):
* ext/flac/gstflacdec.h:
Send segments from the streaming thread. Fixes#502187.
Fix segment seeking and a bunch of other seeking cases.
Original commit message from CVS:
* gst/id3demux/id3v2frames.c: (parse_url_link_frame):
Parse WOAF frames and put the result into GST_TAG_CONTACT,
which is where it would end up if the same information was
put in a vorbis comment (don't think it's worth adding a
new URI tag for this). Fixes#488112.
Original commit message from CVS:
Patch by: Wai-Ming Ho <webregbox at yahoo dot co dot uk>
* gst/rtp/gstrtph264pay.c: (gst_rtp_h264_pay_init),
(gst_rtp_h264_pay_finalize), (gst_rtp_h264_pay_setcaps),
(next_start_code), (is_nal_equal), (gst_rtp_h264_pay_decode_nal),
(encode_base64), (gst_rtp_h264_pay_parse_sps_pps),
(gst_rtp_h264_pay_handle_buffer):
* gst/rtp/gstrtph264pay.h:
Use higher performance start-code searching.
Parse NALs and store SPS, PPS and profile in the caps so that they can
be used in the SDP. Fixes#502814.
Original commit message from CVS:
* sys/v4l2/v4l2_calls.c: (gst_v4l2_fill_lists):
* sys/v4l2/v4l2src_calls.c: (gst_v4l2src_fill_format_list):
Init some structs to zero before we pass them to ioctl, which
avoids valgrind warnings. Also fix a small memory leak.
Original commit message from CVS:
Patch by: Wouter Cloetens <wouter at mind dot be>
* gst/multipart/multipartdemux.c: (gst_multipart_demux_chain):
Copy timestamp from input to output. Not very perfect yet but better
than nothing. Fixes#503023.
Original commit message from CVS:
* ext/wavpack/gstwavpackdec.c: (gst_wavpack_dec_chain):
Also print a useful error message with the old Wavpack API
if possible.
Original commit message from CVS:
* ext/wavpack/gstwavpackdec.c:
More build fixes for old libwavpack versions: include config.h so
that WAVPACK_OLD_API is actually defined as detected; only use
WavpackGetErrorMessage if it is available. This fixes the build
on debian stable for me.
Original commit message from CVS:
* ext/wavpack/gstwavpackdec.c: (gst_wavpack_dec_chain):
* ext/wavpack/gstwavpackparse.c:
(gst_wavpack_parse_create_src_pad):
Workaround the non-existance of WavpackGetChannelMask in Wavpack
versions below 4.40.0.
Original commit message from CVS:
Based on a patch by: Kwang Yul Seo <kwangyul dot seo at gmail dot com>
* configure.ac:
* ext/cairo/gsttimeoverlay.c:
(gst_cairo_time_overlay_print_smpte_time):
Fix compilation with MSVC by using gst_util_guint64_to_gdouble()
and checking for rint() and implementing it ourself if it doesn't
exist.
Original commit message from CVS:
* sys/oss/gstosshelper.c:
Verify that the format returned after the ioctl is the one
we requested. It is valid for the ioctl to succeed while
substituting an alternate 'supported' sample format.
Original commit message from CVS:
* sys/oss/gstossaudio.c: (plugin_init):
* sys/oss/gstosssink.c: (gst_oss_sink_open):
* sys/oss/gstosssrc.c: (gst_oss_src_open):
Post decent (and translated) error message when we can't
open the audio device for some reason.
Original commit message from CVS:
* sys/oss/gstosssink.c:
* sys/oss/gstosssrc.c:
Allow the AUDIODEV environment variable to redirect us
to a different default OSS device, like sunaudiosink does
on Solaris (makes audio play automatically on SunRays).
Original commit message from CVS:
* gst/audiofx/audioamplify.c: (gst_audio_amplify_transform_ip):
* gst/audiofx/audiochebyshevfreqband.c:
(gst_audio_chebyshev_freq_band_transform_ip):
* gst/audiofx/audiochebyshevfreqlimit.c:
(gst_audio_chebyshev_freq_limit_transform_ip):
* gst/audiofx/audiodynamic.c: (gst_audio_dynamic_transform_ip):
* gst/audiofx/audioinvert.c: (gst_audio_invert_transform_ip):
The transform_ip() methods should do nothing if in passthrough mode.
It might get non-writable buffers in that case but the buffer might
as well be writable.
* gst/audiofx/audiopanorama.c: (gst_audio_panorama_transform):
The transform() methods won't be called in passthrough mode and
otherwise the buffer is always writable so don't check here.
Original commit message from CVS:
* gst/wavparse/gstwavparse.c: (gst_wavparse_srcpad_event):
Fix seeking in .wav files again (#501775). Some people seem to think
they don't need to test their changes when they're just 'reflowing'
some code.
Original commit message from CVS:
* gst/autodetect/gstautovideosink.c:
(gst_auto_video_sink_class_init), (gst_auto_video_sink_dispose),
(gst_auto_video_sink_init),
(gst_auto_video_sink_create_element_with_pretty_name),
(gst_auto_video_sink_find_best),
(gst_auto_video_sink_set_property),
(gst_auto_video_sink_get_property):
* gst/autodetect/gstautovideosink.h:
Fix docs.
Use same error reporting code as autoaudiosink.
Add property to filter sinks based on caps. Only select raw video sinks
by default for backwards compat.
API: GstAutoVideoSink::filter-caps
Original commit message from CVS:
Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
* gst/autodetect/gstautoaudiosink.c:
(gst_auto_audio_sink_class_init), (gst_auto_audio_sink_dispose),
(gst_auto_audio_sink_init), (gst_auto_audio_sink_find_best),
(gst_auto_audio_sink_set_property),
(gst_auto_audio_sink_get_property):
* gst/autodetect/gstautoaudiosink.h:
Add property to filter sinks based on caps. Only select raw audio sinks
by default for backwards compat. Fixes#417420.
API: GstAutoAudioSink::filter-caps
Original commit message from CVS:
* gst/rtp/gstrtph263depay.c: (gst_rtp_h263_depay_class_init),
(gst_rtp_h263_depay_process):
Code beautification.
Added debug statements.
Don't bit-shift everything, just do operations on last/first byte
instead.
Original commit message from CVS:
Patch by: Jayarama S. Santana <sundarsantana at gmail dot com>
* gst/rtp/gstrtpmp4adepay.c: (gst_rtp_mp4a_depay_process):
Fix wrong comparison in overrun check. Fixes#499239 some more.
Original commit message from CVS:
* gst/rtp/gstrtph263depay.c: (gst_rtp_h263_depay_init),
(gst_rtp_h263_depay_process):
* gst/rtp/gstrtph263depay.h:
Fix h263 depayloader so that ANY h263 decoder can handle the outgoing
stream.
Original commit message from CVS:
Based on Path by: Jayarama S. Santana <sundarsantana at gmail dot com>
* gst/rtp/gstrtpmp4adepay.c: (gst_rtp_mp4a_depay_setcaps),
(gst_rtp_mp4a_depay_process):
* gst/rtp/gstrtpmp4adepay.h:
Fix depayloading when multiple frames are inside one RTP packet.
Fixes#499239.
Original commit message from CVS:
* gst/rtp/gstrtph263depay.c: (gst_rtp_h263_depay_process):
Read the I flag for Mode A h263 rtp stream and set the
GST_BUFFER_FLAG_DELTA_UNIT accordingly.
Fixes#499383
Original commit message from CVS:
* tests/check/elements/wavpackenc.c: (GST_START_TEST):
Don't check the caps of the output buffer if they're equal some
other caps. The caps can change in a backward compatible way
and did at this point.
Original commit message from CVS:
* ext/wavpack/gstwavpackcommon.c: (gst_wavpack_set_channel_layout):
Also set the channel layout on the Wavpack caps if we're having
a mono layout. Of course only do it for "audio/x-wavpack".
Original commit message from CVS:
Patch by: René Stadler <mail at renestadler dot de>
* ext/libpng/gstpngenc.c:
Don't leak buffer data memory. Fixes#498395.
Original commit message from CVS:
Patch by: René Stadler <mail at renestadler dot de>
* tests/check/pipelines/simple-launch-lines.c:
Tests for #498395.
Original commit message from CVS:
2007-11-20 Julien MOUTTE <julien@moutte.net>
* ext/taglib/gsttaglibmux.c: (gst_tag_lib_mux_render_tag),
(gst_tag_lib_mux_adjust_event_offsets):
* gst/qtdemux/qtdemux.c: (qtdemux_parse_theora_extension):
* sys/osxaudio/Makefile.am:
* sys/osxvideo/cocoawindow.h:
* sys/osxvideo/cocoawindow.m: Fix build on Mac OS X 10.5
Original commit message from CVS:
Patch by: Jordi Jaen Pallares <jordijp at gmail dot com>
* gst/rtp/gstrtpmp2tpay.c: (gst_rtp_mp2t_pay_class_init),
(gst_rtp_mp2t_pay_init), (gst_rtp_mp2t_pay_finalize),
(gst_rtp_mp2t_pay_flush), (gst_rtp_mp2t_pay_handle_buffer):
* gst/rtp/gstrtpmp2tpay.h:
Fill the MTU with as many packets as possible. Fixes#491323.
Original commit message from CVS:
Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_setup_streams):
Fix some more leaks. Fixes#497007.
Original commit message from CVS:
Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_stream_free),
(gst_rtspsrc_stream_configure_tcp):
Fix 3 pad leaks. Fixes#496983.
Original commit message from CVS:
Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
* gst/rtp/gstrtph264depay.c: (gst_rtp_h264_depay_setcaps):
Fix small leak. Fixes#497017.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_change_state),
(gst_qtdemux_prepare_current_sample),
(gst_qtdemux_loop_state_movie), (qtdemux_parse_theora_extension),
(qtdemux_parse_node), (qtdemux_parse_trak), (qtdemux_video_caps):
* gst/qtdemux/qtdemux_fourcc.h:
* gst/qtdemux/qtdemux_types.c:
Add suppport for theora in quicktime according to XiphQT.
Original commit message from CVS:
Always copy buffers by default (handle safer with bugged drivers) and added a property to make it possible to use mmap effectively (no copy if possible) when application wants to. Fixes: #480557.
Original commit message from CVS:
* gst/id3demux/id3tags.c:
* gst/id3demux/id3tags.h:
* gst/id3demux/id3v2frames.c: (id3v2_tag_to_taglist):
We don't want the same string multiple times in a tag list for the
same tag ever, for any tag, not just for GST_TAG_GENRE, so make sure
this doesn't happen and remove special-case code for GST_TAG_GENRE.
Original commit message from CVS:
* ext/taglib/gstid3v2mux.cc: (add_musicbrainz_tag), (add_funcs):
Write GST_TAG_MUSICBRAINZ_DISCID and GST_TAG_CDDA_CDDB_DISCID
into ID3v2 TXXX frames (fixes#347848).
Original commit message from CVS:
Patch by: Julien Puydt <julien dot puydt at laposte net>
* ext/raw1394/Makefile.am:
* ext/raw1394/gst1394probe.c: (gst_1394_get_guid_array),
(gst_1394_property_probe_get_properties),
(gst_1394_property_probe_probe_property),
(gst_1394_property_probe_needs_probe),
(gst_1394_property_probe_get_values),
(gst_1394_property_probe_interface_init),
(gst_1394_type_add_property_probe_interface):
* ext/raw1394/gst1394probe.h: (GST_1394_PROBE_H):
* ext/raw1394/gstdv1394src.c: (_do_init), (gst_dv1394src_class_init),
(gst_dv1394src_init), (gst_dv1394src_dispose),
(gst_dv1394src_set_property), (gst_dv1394src_get_property),
(gst_dv1394src_discover_avc_node), (gst_dv1394src_query),
(gst_dv1394src_update_device_name):
* ext/raw1394/gstdv1394src.h:
Implement GstPropertyProbe interface and add "device-name" property,
so applications can use this to probe for available devices in the
same way they can already with v4lsrc and v4l2src (however horrible
this property probe interface may be). Fixes#358841.
Original commit message from CVS:
Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_handle_src_event),
(gst_rtspsrc_parse_range):
Don't leak event, don't leak range (fixes#496752).
Original commit message from CVS:
Patch by: Arek Korbik <arkadini@gmail.com>
* gst/alpha/gstalphacolor.c: (gst_alpha_color_set_caps):
Detect RGBA/BGRA correctly on little endian systems.
Original commit message from CVS:
* sys/v4l2/v4l2src_calls.c: (gst_v4l2src_probe_caps_for_format):
If VIDIOC_ENUM_FRAMESIZES is defined (= recent kernel), but the
corresponding ioctl() call fails even though the driver claims to
support this format, just fall back to the pre-2.6.19 kernel
routine that creates caps with suitable height and width ranges
(see #448278).
Original commit message from CVS:
Patch by: Mark Nauwelaerts <manauw skynet be>
* gst/matroska/matroska-demux.c:
(gst_matroska_demux_push_dvd_clut_change_event),
(gst_matroska_demux_parse_blockgroup_or_simpleblock),
(gst_matroska_demux_subtitle_caps):
* gst/matroska/matroska-ids.h:
Extract palette data for dvd subpicture streams and send it
downstream as custom gstreamer dvd event (fixes#453417).
Original commit message from CVS:
* ext/cairo/gsttextoverlay.c: (gst_text_overlay_font_init):
Implement minimal parsing of the passed pango font description
string, so passing a font size works the same as with the
pango textoverlay plugin; fixes#455086.
(Maybe we could just use pangocairo here at some point).
Original commit message from CVS:
* gst/avi/gstavidemux.c:
* gst/wavparse/gstwavparse.c:
Return the result in _activate_pull(). Don't ref element there.
Original commit message from CVS:
* gst/wavparse/gstwavparse.c: (gst_wavparse_stream_headers),
(gst_wavparse_pad_convert), (gst_wavparse_pad_query),
(gst_wavparse_srcpad_event):
Ref the element when we should, but not when we its not needed. Reflow
the event_handling to not leak the event.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_change_state),
(qtdemux_parse_samples):
Properly free QTDemuxSamples array.
Protect table write with a sensible check, some files apparently DO contain
stts values starting with 0 :(
Original commit message from CVS:
* gst/avi/gstavidemux.c:
* gst/qtdemux/qtdemux.c:
Drop EOS in _handle_src_event(). Fix the refcount in qtdemux that
previous commit messed up.
Original commit message from CVS:
* gst/avi/gstavidemux.c:
* gst/qtdemux/qtdemux.c:
Sync _handle_src_event() with oggdemux. In avidemux also ref the
element when we should, but not when we its not needed.
Original commit message from CVS:
* gst/wavparse/gstwavparse.c:
Return FALSE if we can't handle a query instead of changing the
format. Ignore fact when dealing with mpeg audio.
Original commit message from CVS:
Patch by: Ole André Vadla Ravnås <ole.andre.ravnas@tandberg.com>
* configure.ac:
* gst/udp/gstdynudpsink.c:
* gst/udp/gstdynudpsink.h:
* gst/udp/gstmultiudpsink.c:
* gst/udp/gstmultiudpsink.h:
* gst/udp/gstudpsink.c:
* gst/udp/gstudpsink.h:
Fix includes for MSVC and GLib-2.14.0 (#492388).
* gst/udp/gstudpsrc.c: (gst_udpsrc_start):
No more pipe define since GLib-2.14.0, need to use _pipe() directly.
Original commit message from CVS:
* gst/law/mulaw-decode.c: (mulawdec_sink_setcaps),
(gst_mulawdec_chain):
* gst/law/mulaw-decode.h:
Calculate outgoing buffer duration if incoming buffer didn't have a
valid duration.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_activate_segment),
(gst_qtdemux_combine_flows), (gst_qtdemux_loop_state_movie):
Smarter combine_flow code that also deals with downstream elements
returning UNEXPECTED when they receive data out of the segment
boundaries. Fixes#491305.
Original commit message from CVS:
patch by: Yun Zheng Hu
* sys/osxaudio/gstosxaudiosrc.c:
Use default input device instead of default output device and
only memcpy actual available bytes.
Original commit message from CVS:
* sys/v4l2/v4l2src_calls.c: (gst_v4l2src_grab_frame):
Fixes "v4l2src ! queue ! xvimagesink". The queue ask for buffer too
early. It is temporary until we find something better.
Original commit message from CVS:
Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_loop_interleaved):
Fix race when pausing a RTSP stream in interleaved.
Fixes#475784.
Original commit message from CVS:
Patch by: Peter Kjellerstedt <pkj at axis com>
* gst/rtp/gstrtpmp4vpay.c: (gst_rtp_mp4v_pay_finalize):
Use correct unref function for buffers. #488844.
Original commit message from CVS:
Based on patch by: Laurent Glayal <spglegle yahoo fr>
* gst/udp/gstudpsrc.c: (gst_udpsrc_create):
When the socket is used by the app for other purposes, don't generate an
error if there is activaty on the socket that is not data related.
Fixes#487488.
Original commit message from CVS:
* sys/v4l2/v4l2src_calls.c: (gst_v4l2_buffer_finalize),
(gst_v4l2src_grab_frame):
Add some more debug info. Generate an error when we run out of buffers
for some reason. See #480557.
Original commit message from CVS:
Patch by: Anders Skargren <anders dot skargren at axis dot com>
* gst/rtp/gstrtph264pay.c: (gst_rtp_h264_pay_handle_buffer):
Set marker bit correctly.
Original commit message from CVS:
* sys/v4l2/gstv4l2src.c:
* sys/v4l2/v4l2src_calls.c:
When probing the formats and sizes a camera supports, make
sure the best ones (highest resolution, prefered format)
end up at the beginning of the probed caps and the less
desirable ones at the end. This is important because the
order within the caps matters for things like fixation and
negotiation, ie. what format is chosen in the end.
With recent kernels, the current probing code will end up
querying the supported sizes from lowest resolution to
highest resolution, adding them to the probed caps in that
order, resulting to v4l2src fixating to the lowest possible
resolution if downstream does not express a size preference.
Also make up a somewhat random ranking of prefered output
formats for the same reason. Fixes#485828.
Original commit message from CVS:
Based on patch by: Jason Kivlighn <jkivlighn gmail com>
* gst/id3demux/id3v2frames.c:
Extract license/copyright URIs from ID3v2 WCOP frames
(Fixes#447000).
* tests/check/elements/id3demux.c:
* tests/files/Makefile.am:
* tests/files/id3-447000-wcop.tag:
Add simple unit test.
Original commit message from CVS:
* ext/taglib/gstid3v2mux.cc:
Add support for license/copyright URI tags (ID3v2 WCOP frame).
Prerequisite for #447000.
Original commit message from CVS:
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_flush):
Fix compiler warning by using GST_CLOCK_TIME_NONE to initialise
a GstClockTime.
Original commit message from CVS:
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_flush),
(gst_rtspsrc_do_seek), (gst_rtspsrc_perform_seek),
(gst_rtspsrc_configure_caps), (gst_rtspsrc_loop_udp),
(gst_rtspsrc_parse_range), (gst_rtspsrc_open), (gst_rtspsrc_play),
(gst_rtspsrc_change_state):
More seeking fixes, mostly passing around the new playback segment in
order to configure it properly.
Also reset base_time of udp sources when setting them back to PLAYING as
a temporary hack until core supports seek in live sources properly.
Original commit message from CVS:
* gst/id3demux/gstid3demux.c:
* gst/id3demux/gstid3demux.h:
* gst/id3demux/id3tags.c:
* gst/id3demux/id3tags.h:
* gst/id3demux/id3v2frames.c:
Port ID3 tag demuxer over to the new GstTagDemux in -base
(now would be a good time to test re-importing your music
collection).
Original commit message from CVS:
* gst/apetag/Makefile.am:
* gst/apetag/gstapedemux.c:
* gst/apetag/gstapedemux.h:
* gst/apetag/gsttagdemux.c:
* gst/apetag/gsttagdemux.h:
Port APE tag demuxer over to the new GstTagDemux in -base.
Original commit message from CVS:
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_flush),
(gst_rtspsrc_perform_seek), (gst_rtspsrc_handle_src_event),
(gst_rtspsrc_handle_internal_src_query),
(gst_rtspsrc_handle_src_query), (new_session_pad),
(gst_rtspsrc_stream_configure_tcp),
(gst_rtspsrc_stream_configure_transport),
(gst_rtspsrc_loop_send_cmd):
Improve flushing behaviour.
Set state of the udp sources to PAUSE/PLAYING correctly.
Handle events and queries for UDP and TCP transport now.
Original commit message from CVS:
Patch by: Timo Hotti <Timo.Hotti@sysopendigia.com>
* tests/check/Makefile.am:
* tests/check/pipelines/simple-launch-lines.c:
Add unit tests for payloaders/depayloaders.
Original commit message from CVS:
* gst/avi/gstavimux.c:
Fix "Index entry has invalid stream nr 1".
Add support for muxing aac - work in progress (see #482495).
Original commit message from CVS:
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_get_bandwidth),
(gst_rtspsrc_collect_bandwidth), (gst_rtspsrc_create_stream),
(gst_rtspsrc_media_to_caps), (gst_rtspsrc_loop_interleaved):
* gst/rtsp/gstrtspsrc.h:
Parse bandwidth modifiers, they are not yet configured in the session
manager because we don't have an API for that yet.
Original commit message from CVS:
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_parse_rtpmap),
(gst_rtspsrc_media_to_caps), (gst_rtspsrc_loop_interleaved):
Use shiny new function in -base to get the default clock-rate.
Update some docs.
Original commit message from CVS:
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_loop_interleaved),
(gst_rtspsrc_play):
* gst/rtsp/gstrtspsrc.h:
In TCP mode, only timestamp the first buffer. TCP is not real time and
it does not make sense to try to skew compensate, also some servers send
the first batch of data in a burst.
Original commit message from CVS:
* gst/matroska/matroska-demux.c:
Fix setting the discont flag on the first buffer
pushed downstream for formats with private codec
data that needs to be deserialised into buffers
(such as vorbis and FLAC when in a matroska container).
Original commit message from CVS:
Patch by: Antoine Tremblay <hexa00 at gmail dot com>
* gst/rtp/gstrtpmp4vpay.c: (gst_rtp_mp4v_pay_init),
(gst_rtp_mp4v_pay_finalize), (gst_rtp_mp4v_pay_flush),
(gst_rtp_mp4v_pay_handle_buffer):
* gst/rtp/gstrtpmp4vpay.h:
Free the config string. Fixes#480707.
Clean up the timestamp code a little.
Original commit message from CVS:
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_create_stream),
(gst_rtspsrc_handle_src_query), (gst_rtspsrc_loop_interleaved),
(gst_rtspsrc_loop_udp), (gst_rtspsrc_close):
* gst/rtsp/gstrtspsrc.h:
Set timestamps on RTP buffers in interleaved mode.
Mark first buffers with a DISCONT.
Remove flush hack now that sync for live sources has been figured out.
Original commit message from CVS:
* gst/qtdemux/gstrtpxqtdepay.c: (gst_rtp_xqt_depay_process),
(gst_rtp_xqt_depay_change_state):
* gst/qtdemux/gstrtpxqtdepay.h:
Fail if we don't know the quicktime format.