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.
Original commit message from CVS:
* ext/flac/gstflacenc.c:
* ext/flac/gstflacenc.h:
Save the flow return from the last gst_pad_push() and
make sure we pass the right flow return value upstream
in the case of failure; minor clean-ups.
Original commit message from CVS:
* ext/taglib/gstapev2mux.cc:
* ext/taglib/gstid3v2mux.cc:
* gst/apetag/gstapedemux.c:
Add support for the new GST_TAG_COMPOSER (#459809).
Original commit message from CVS:
* gst/law/alaw-decode.c:
* gst/law/alaw-decode.h:
* gst/law/alaw-encode.c:
* gst/law/alaw-encode.h:
* gst/law/alaw.c:
* gst/law/mulaw-conversion.h:
Compulsive clean-ups: use boilerplate macros, add debug
categories, fix up things to conform to symbol nomenklatura,
etc.
Original commit message from CVS:
Based on patch by: Laurent Glayal <spglegle yahoo fr>
* gst/law/alaw-decode.c:
* gst/law/alaw-encode.c:
Use static tables for A-Law decoding and encoding; this makes
A-Law decoding and encoding less CPU-intensive, but increases
the binary size a bit. Leaving old code around for now,
selectable by a define in the code. Fixes#435435.
Original commit message from CVS:
* configure.ac:
Use AG_GST_ARG_WITH_PLUGINS, AG_GST_ARG_ENABLE_EXTERNAL and
AG_GST_ARG_ENABLE_EXPERIMENTAL instead of duplicating those macros
in configure.ac.
Original commit message from CVS:
translated by: Abel Cheung <abelcheung@gmail.com>
* po/zh_HK.po:
* po/zh_TW.po:
Added Chinese (traditional and Hong Kong) translation.
Original commit message from CVS:
* gst/rtp/gstrtpamrdepay.c: (gst_rtp_amr_depay_process):
Set outgoing packet duration because we can. Fixes#478244 some more.
Original commit message from CVS:
* ext/cairo/gsttextoverlay.c:
Add info about static leak.
* tests/check/Makefile.am:
* tests/check/generic/states.c:
Improved state change unit test.
Original commit message from CVS:
* ext/taglib/gstapev2mux.cc:
* ext/taglib/gstid3v2mux.cc:
Work around compiler warnings with g++-4.2 when assigning a
string constant to a gchar * (partially fixes#478092).
Original commit message from CVS:
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_setup_streams),
(gst_rtspsrc_dup_printf):
Give meaningfull error when all streams failed to configure for some
reason.
Original commit message from CVS:
* gst/wavparse/gstwavparse.c: (gst_wavparse_loop),
(gst_wavparse_chain):
Don't push EOS from the chain function, the element
driving the pipeline is responsible for this. The bug
this was meant to fix seems to be queue not forwarding
EOS in all cases (see #476514).
Original commit message from CVS:
* gst/level/gstlevel.c: (gst_level_class_init), (gst_level_start),
(gst_level_transform_ip):
* gst/level/gstlevel.h:
Use basetransform segment so that it is correctly managed on flushes and
start/stop.
Report message timestamp as stream time, which is what an application
can understand.
Original commit message from CVS:
* ext/taglib/gstapev2mux.cc:
* ext/taglib/gstapev2mux.h:
* ext/taglib/gsttaglibmux.c:
* tests/check/elements/apev2mux.c:
Update my mail address.
Original commit message from CVS:
* gst/wavparse/gstwavparse.c: (gst_wavparse_perform_eos),
(gst_wavparse_loop), (gst_wavparse_chain):
Add EOS logic for the push-based mode too. Fixes#476514.
Original commit message from CVS:
* ext/gconf/gstgconfaudiosink.c:
Fix warning when building without debug.
* sys/oss/gstossmixertrack.c:
Use const like in alsamixertrack.c (fixes warnings).
Original commit message from CVS:
* sys/v4l2/v4l2src_calls.c:
(gst_v4l2src_probe_caps_for_format_and_size):
Fix framerate detection code some more.
Handle the case where there is a weird step in the stepwise framerates.
Don't overwrite the min interval with the framerate, use a temp variable
instead.
Use max in the Continuous framerate intervals instead of step, which is
1 according to the docs. Fixes#475424.
Original commit message from CVS:
* gst/udp/gstudpsrc.c: (gst_udpsrc_init), (gst_udpsrc_create):
Make udpsrc timestamp outgoing buffers based on when they were received.
Also make it output a segment in time.
Original commit message from CVS:
* configure.ac:
Use AC_TRY_COMPILE instead of AC_TRY_RUN to check for old
flac versions, 's good for cross-compilation karma.
Original commit message from CVS:
Patch by: Haakon Sporsheim <haakon.sporsheim at tandberg com>
* gst/rtp/gstrtph263pay.c:
Fix up header structure so that compilers don't add padding
between the structure fields, since that would lead to us
sending RTP packets with broken headers (as is currently the
case when compiling with MSVC). Also see similar fixes in
libgstrtp in gst-plugins-base. (#474616; #471194)
Original commit message from CVS:
* sys/v4l2/v4l2src_calls.c:
(gst_v4l2src_probe_caps_for_format_and_size):
Don't overwrite our GValue with 0 but instead use the previously
computed value. Fixes#471823 some more.
Original commit message from CVS:
* docs/plugins/gst-plugins-good-plugins.hierarchy:
No tabs in this file please, or gtk-doc will end up documenting
rather absurd class hierarchies.
Original commit message from CVS:
* ext/gconf/gstswitchsink.c:
If the new kid element fails to change state for some reason
(e.g. esdsink not being able to connect to the sound server),
forward the error message it posted on the bus instead of just
posting a generic 'Internal state change error: please file a
bug' error message. Fixes#471364.
Original commit message from CVS:
* sys/v4l2/gstv4l2src.c:
* sys/v4l2/gstv4l2src.h:
* sys/v4l2/v4l2src_calls.c:
Implement LATENCY queries in the crudest way possible so I don't
have to use sync=false any longer when testing with videosinks.
Original commit message from CVS:
* sys/v4l2/v4l2src_calls.c:
(gst_v4l2src_probe_caps_for_format_and_size):
Add some more debugging in the framerate function.
Iterate stepwise framerate up to and _including_ the max and if nothing
was added to the list, add a dummy 0/1 to 100/1 framerate so that we
don't end up with an empty list.
Original commit message from CVS:
* sys/v4l2/gstv4l2src.c: (gst_v4l2_get_caps_info),
(gst_v4l2src_set_caps), (gst_v4l2src_get_mmap):
Restructure the setcaps function so that we can also compute the
expected GStreamer output size of the video frames.
Set frame_byte_size correctly so that read-based devices have a chance
of working correctly.
When grabbing a frame, discard frames that are not of the expected size.
Some cameras don't output the right framesize for the first buffer.
Try only a couple of times to get a valid frame, else error out.
* sys/v4l2/v4l2_calls.c: (gst_v4l2_get_capabilities),
(gst_v4l2_fill_lists), (gst_v4l2_get_input):
Add some more debug info when scanning the device.
* sys/v4l2/v4l2src_calls.c: (gst_v4l2_buffer_new),
(gst_v4l2_buffer_pool_new), (gst_v4l2_buffer_pool_activate),
(gst_v4l2src_fill_format_list), (gst_v4l2src_grab_frame),
(gst_v4l2src_set_capture), (gst_v4l2src_capture_init):
Add some more debug info when dequeing a frame.
Original commit message from CVS:
* gst/wavparse/gstwavparse.c:
* gst/wavparse/gstwavparse.h:
Implement seek-query. Refactor duration calculations. Appropriate use
of uint64_scale_int and uint64_scale. Move repeadedly calculated stuff
out of loops.
Original commit message from CVS:
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_stream_configure_udp_sink),
(gst_rtspsrc_dup_printf):
Use new basesink async property to make sparse RTCP packet not wait for
preroll.
Original commit message from CVS:
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_dup_printf),
(gst_rtspsrc_get_float), (gst_rtspsrc_play):
Make sure we generate and parse floating point values in the POSIX
locale instead of the current locale.
Original commit message from CVS:
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_do_seek),
(gst_rtspsrc_parse_methods), (gst_rtspsrc_open),
(gst_rtspsrc_play):
* gst/rtsp/gstrtspsrc.h:
Fix method detection again.
Keep track of when we must send a Range header.
Use segment values for Range, Speed and Scale headers.
Parse Speed and Scale headers to update the segment values.
Original commit message from CVS:
* gst/audiofx/audiochebyshevfreqband.c:
* gst/audiofx/audiochebyshevfreqlimit.c:
Add small comparision with the windowed sinc filters in the docs.
Original commit message from CVS:
* tests/check/elements/audiochebyshevfreqband.c: (GST_START_TEST),
(audiochebyshevfreqband_suite):
* tests/check/elements/audiochebyshevfreqlimit.c: (GST_START_TEST),
(audiochebyshevfreqlimit_suite):
Also test 32 bit float mode and the type 2 variants of the filters.
Original commit message from CVS:
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_loop_interleaved),
(gst_rtspsrc_loop_udp), (gst_rtspsrc_loop_send_cmd),
(gst_rtspsrc_loop):
Refactor the udp and interleaved loop function a bit.
Original commit message from CVS:
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_init),
(gst_rtspsrc_finalize), (gst_rtspsrc_connection_send),
(gst_rtspsrc_connection_receive), (gst_rtspsrc_sink_chain),
(gst_rtspsrc_handle_request), (gst_rtspsrc_send_keep_alive),
(gst_rtspsrc_loop_interleaved), (gst_rtspsrc_loop_udp),
(gst_rtspsrc_try_send), (gst_rtspsrc_pause):
* gst/rtsp/gstrtspsrc.h:
Protect connection activity with a new lock, avoids deadlocks when going
to PAUSED. Fixes#455808.
Original commit message from CVS:
* gst/audiofx/audiochebyshevfreqband.c:
(gst_audio_chebyshev_freq_band_class_init):
* gst/audiofx/audiochebyshevfreqlimit.c:
(gst_audio_chebyshev_freq_limit_class_init):
Use generator macros for the process functions for the different
sample types, add lower upper boundaries for the GObject properties
so automatically generated UIs can use sliders and add a note about
the number of poles as a too high number of poles combined with
very low or very high frequencies will produce only noise.
* docs/plugins/gst-plugins-good-plugins.args:
Regenerated for the property changes.
Original commit message from CVS:
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_set_property),
(gst_rtspsrc_flush), (gst_rtspsrc_sink_chain),
(gst_rtspsrc_stream_configure_udp_sink),
(gst_rtspsrc_send_keep_alive), (gst_rtspsrc_loop_interleaved),
(gst_rtspsrc_loop_udp), (gst_rtspsrc_loop_send_cmd),
(gst_rtspsrc_try_send), (gst_rtspsrc_send),
(gst_rtspsrc_parse_methods), (gst_rtspsrc_parse_range),
(gst_rtspsrc_open), (gst_rtspsrc_close), (gst_rtspsrc_pause),
(gst_rtspsrc_handle_message), (gst_rtspsrc_change_state):
* gst/rtsp/gstrtspsrc.h:
Improve timeout handling.
Use the same socket for sending and receiving RTCP packets so that some
servers can track clients better.
Improve connection closed handling. Try to reconnect.
Don't overwrite our content base with NULL.
Improve debugging.
Improve range parsing and handling.
Remove flushing hack now that core does the right thing.
Original commit message from CVS:
* gst/udp/gstmultiudpsink.c: (gst_multiudpsink_class_init),
(gst_multiudpsink_init), (gst_multiudpsink_set_property),
(gst_multiudpsink_get_property), (gst_multiudpsink_init_send),
(gst_multiudpsink_close), (gst_multiudpsink_add):
* gst/udp/gstmultiudpsink.h:
Add support for getting and setting the socket to use.
* gst/udp/gstudpsrc.c: (gst_udpsrc_class_init), (gst_udpsrc_init),
(gst_udpsrc_create), (gst_udpsrc_get_property):
Add support for getting the currently used socket.
Original commit message from CVS:
* gst/udp/gstudpsrc.c: (gst_udpsrc_create):
Improve UDP performance by avoiding a select() when we have data
available immediatly.
Original commit message from CVS:
* gst/rtsp/gstrtpdec.c: (gst_rtp_dec_marshal_VOID__UINT_UINT),
(gst_rtp_dec_class_init):
* gst/rtsp/gstrtpdec.h:
Add (dummy) SSRC management signals.
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_class_init),
(gst_rtspsrc_set_property), (gst_rtspsrc_get_property),
(find_stream), (gst_rtspsrc_create_stream), (new_session_pad),
(request_pt_map), (gst_rtspsrc_do_stream_eos), (on_bye_ssrc),
(on_timeout), (gst_rtspsrc_stream_configure_manager),
(gst_rtspsrc_stream_push_event), (gst_rtspsrc_push_event),
(gst_rtspsrc_loop_interleaved), (gst_rtspsrc_parse_rtpinfo),
(gst_rtspsrc_handle_message), (gst_rtspsrc_change_state):
* gst/rtsp/gstrtspsrc.h:
Add connection-speed property.
Add find_stream helper functions.
Handle stream EOS based on BYE messages or SSRC timeout.
Returns SUCCESS from the state change function as we hide our async
elements from the parent.
Original commit message from CVS:
* gst/debug/Makefile.am:
* gst/debug/breakmydata.c:
* gst/debug/gstdebug.c:
* gst/debug/negotiation.c:
* gst/debug/progressreport.c:
* gst/debug/rndbuffersize.c:
* gst/debug/testplugin.c:
Add new test element and clean-up the others a little.
Original commit message from CVS:
* gst/rtsp/gstrtspsrc.c: (get_default_rate_for_pt),
(gst_rtspsrc_parse_rtpmap), (gst_rtspsrc_media_to_caps),
(gst_rtspsrc_stream_configure_tcp),
(gst_rtspsrc_stream_configure_udp_sink):
Fix default clock-rate for realmedia.
Fix parsing of transport.
Don't try to link NULL pads.
Original commit message from CVS:
* po/POTFILES.skip:
Add POTFILES.skip with list of source files that aren't disted at the
moment but contain translatable strings. Should hopefully pacify
broken tools and make it clearer that these files are left out
intentionally (#461600).
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_state_movie):
If the buffer was entirely clipped ... don't try sending it :)
Original commit message from CVS:
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_activate_streams),
(gst_rtspsrc_loop_interleaved), (gst_rtspsrc_parse_methods),
(gst_rtspsrc_create_transports_string),
(gst_rtspsrc_prepare_transports):
If we don't hav a session manager, set the caps on outgoing buffers
ourselves.
Force PAUSE/PLAY methods for now until the extensions can overwrite.
Append final bit of the transport string even when it does not contain a
placeholder.
Original commit message from CVS:
* gst/rtsp/gstrtspext.c: (gst_rtsp_ext_list_free),
(gst_rtsp_ext_list_connect):
* gst/rtsp/gstrtspext.h:
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_init),
(gst_rtspsrc_finalize), (gst_rtspsrc_send_cb):
Clean up the interface list.
Allow connecting to interface signals for the extensions.
Remove old extension code.
Free list on cleanup.
Allow extensions to send additional RTSP messages.
Original commit message from CVS:
* ext/gconf/gconf.c: (gst_gconf_render_bin_with_default):
Handle a NULL gconf key gracefully by rendering the default element.
Original commit message from CVS:
* gst/audiofx/audioamplify.c: (gst_audio_amplify_init),
(gst_audio_amplify_setup), (gst_audio_amplify_transform_ip):
* gst/audiofx/audiodynamic.c:
(gst_audio_dynamic_set_process_function), (gst_audio_dynamic_init),
(gst_audio_dynamic_setup), (gst_audio_dynamic_transform_ip):
* gst/audiofx/audiodynamic.h:
* gst/audiofx/audioinvert.c: (gst_audio_invert_init),
(gst_audio_invert_setup), (gst_audio_invert_transform_ip):
* gst/audiofx/audioinvert.h:
Don't save format information ourselves, this is already saved in
GstAudioFilter.
Original commit message from CVS:
* gst/rtsp/gstrtspext.c: (gst_rtsp_ext_list_filter),
(gst_rtsp_ext_list_stream_select):
* gst/rtsp/gstrtspext.h:
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_setup_streams):
Use rank to filter out extensions.
Add url to stream_select interface call.
Original commit message from CVS:
* ext/wavpack/gstwavpackdec.c: (gst_wavpack_dec_chain):
Don't unref the outgoing buffer twice when dropping it because it's
outside of the segment.
Original commit message from CVS:
* configure.ac:
* ext/wavpack/gstwavpackdec.c: (gst_wavpack_dec_reset),
(gst_wavpack_dec_chain), (gst_wavpack_dec_sink_event):
Use the new buffer clipping function from gstaudio here and
require gst-plugins-base CVS.
* tests/check/elements/wavpackdec.c: (GST_START_TEST):
For framed Wavpack buffers we require a valid timestamp.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_activate_segment),
(gst_qtdemux_clip_buffer), (gst_qtdemux_loop_state_movie),
(qtdemux_parse_trak), (qtdemux_video_caps), (qtdemux_audio_caps):
Clip raw audio and video when we can, keep track of current output
segment.
Don't leak buffers and events when there is no output pad.
Improve debugging here and there.
Original commit message from CVS:
Patch by: Alexander Eichner <alexeichi@yahoo.de>
* sys/v4l2/gstv4l2src.c: (gst_v4l2src_init):
Use define here.
* sys/v4l2/gstv4l2tuner.c:
(gst_v4l2_tuner_set_frequency_and_notify):
Don't touch the property - its still disabled.
* sys/v4l2/v4l2src_calls.c: (gst_v4l2src_probe_caps_for_format),
(gst_v4l2src_grab_frame), (gst_v4l2src_get_size_limits):
* sys/v4l2/v4l2src_calls.h:
Improve fallback format negotionation. Fixes#451388
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (qtdemux_parse_node):
Fix parsing of esds atoms inside mp4a atoms so that we can set correct
codec_info for AAC audio. Fixes#457097 along with a whole other bunch
of qt/aac files.
Original commit message from CVS:
* ext/wavpack/gstwavpackdec.c:
(gst_wavpack_dec_clip_outgoing_buffer):
Fix buffer clipping to correctly clip to the segment stop.
Original commit message from CVS:
* configure.ac:
* tests/Makefile.am:
Remove bogus check for libcheck, since we check for
gstreamer-check and it pulls in the required info from there,
and we weren't actually _using_ the information for libcheck
ourselves anyway.
Original commit message from CVS:
* gst/id3demux/gstid3demux.c: (gst_id3demux_chain):
Don't return GST_FLOW_ERROR when pushing an event returns FALSE. We
don't have enough granularity to convert that boolean into a
GstFlowReturn.
Original commit message from CVS:
* ext/libpng/gstpngdec.c: (gst_pngdec_caps_create_and_set):
Remove endianness-flipping hack that seems to have been required
only because of a bug in ffmpegcolorspace.
Partially Fixes: #451908
Original commit message from CVS:
Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
* gst/rtp/gstrtpilbcpay.c: (gst_rtpilbcpay_setcaps):
Set the encoding-name in the rtp caps to all uppercase, as required by
the caps spec.
Some small cleanups in the error paths. Fixes#453037.
Original commit message from CVS:
* ext/wavpack/gstwavpackparse.c:
(gst_wavpack_parse_index_get_last_entry),
(gst_wavpack_parse_index_get_entry_from_sample),
(gst_wavpack_parse_index_append_entry), (gst_wavpack_parse_reset),
(gst_wavpack_parse_scan_to_find_sample):
* ext/wavpack/gstwavpackparse.h:
Use a GSList for the GArray that is used like a list anyway.
Original commit message from CVS:
* ext/gdk_pixbuf/gstgdkpixbuf.c: (gst_gdk_pixbuf_sink_setcaps),
(gst_gdk_pixbuf_class_init), (gst_gdk_pixbuf_flush),
(gst_gdk_pixbuf_sink_event), (gst_gdk_pixbuf_change_state):
Add state change function where we set 0/1 as default framerate in
case our setcaps function isn't called, like it might not in a
filesrc ! gdkpixbufdec scenario. Fixes assertion triggered by
gdkpixbufdec trying to create caps with a 0/0 framerate.
Also post an error message on the bus if gst_pad_push() fails when
called from our sink event handler (+1 for flow returns for event
functions in 0.11) instead of failing silently.
Original commit message from CVS:
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_create_stream),
(new_session_pad), (gst_rtspsrc_setup_streams):
* gst/rtsp/gstrtspsrc.h:
For container formats we only need to activate one of the streams so
that we correctly signal no-more-pads. Fixes#451015.
Original commit message from CVS:
* ext/gconf/gconf.h:
Make the prototype of gst_gconf_get_key_for_sink_profile
match the implementation.
Patch by: Damien Carbery <damien dot carbery at sun dot com>
Fixes: #449747
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (qtdemux_parse_samples),
(qtdemux_video_caps):
* gst/qtdemux/qtdemux_fourcc.h:
Add MJPG to the variants of motion jpeg.
Original commit message from CVS:
* tests/check/Makefile.am:
* tests/check/elements/audiopanorama.c: (GST_START_TEST):
* tests/check/elements/videocrop.c: (GST_START_TEST):
* tests/check/elements/videofilter.c:
* tests/check/elements/wavpackdec.c: (GST_START_TEST):
* tests/check/elements/wavpackparse.c: (GST_START_TEST):
Add GST_OPTION_CFLAGS to CFLAGS when building unit tests, so the
error flags are included and it errors out on compiler warnings
for CVS builds; remove unused variables in various unit tests.
Original commit message from CVS:
* gst/rtsp/rtspconnection.c: (rtsp_connection_connect),
(rtsp_connection_close), (rtsp_connection_free):
Use threadsafe inet_ntop to convert an ip number to a string.
Fixes#447961.
Don't leak fd (and ip) when freeing a connection without first closing
it.
Original commit message from CVS:
* gst/rtsp/rtspconnection.c: (rtsp_connection_connect),
(rtsp_connection_free):
Revert previous commit again, since we are frozen (sorry).
Original commit message from CVS:
Patch by: Peter Kjellerstedt <pkj at axis com>
* gst/rtsp/rtspconnection.c: (rtsp_connection_connect),
(rtsp_connection_free):
inet_ntoa() uses a static buffer internally, so we need to copy the
returned string if we want to store it for later (#447961).
Original commit message from CVS:
* gst/rtsp/rtspconnection.c: (rtsp_connection_create),
(rtsp_connection_connect):
Fix the MingW build.
Patch By: Vincent Torri <vtorri at univ-evry dot fr>
Fixes: #446981
Original commit message from CVS:
* configure.ac:
* sys/Makefile.am:
* sys/directdraw/Makefile.am:
* sys/directsound/Makefile.am:
* sys/waveform/Makefile.am:
Make sure to dist everything needed for win32 builds.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (qtdemux_parse_trak):
For AMR-NB streams, export the AMRSpecificBox as codec_data on the
caps.
Fixes#447458
Original commit message from CVS:
* gst/rtp/gstrtph264depay.c: (gst_rtp_h264_depay_setcaps):
Make sure we allocate enough memory for the codec_data.
Fixes#447210.
Original commit message from CVS:
* win32/MANIFEST:
Add videocrop project file to the win32 manifest.
* win32/vs6/gst_plugins_good.dsw:
Add qtdemux,videocrop and waveform projects to the workspace.
* win32/vs6/libgstqtdemux.dsp:
Add zlib to the link list of qtdemux.
* win32/vs6/libgstvideocrop.dsp:
Add a project file for videocrop.
Original commit message from CVS:
* win32/MANIFEST
* docs/plugins/Makefile.am:
* docs/plugins/gst-plugins-good-plugins-docs.sgml:
* docs/plugins/gst-plugins-good-plugins-sections.txt:
* docs/plugins/inspect/plugin-directdraw.xml:
* docs/plugins/inspect/plugin-directsound.xml:
* docs/plugins/inspect/plugin-waveform.xml:
Move the waveform plugin from -bad too. Update the inspect xml
files to mention Plugins Good instead of Plugins Bad.
Original commit message from CVS:
2007-06-12 Andy Wingo <wingo@pobox.com>
* sys/v4l2/v4l2src_calls.c (gst_v4l2_buffer_finalize)
(gst_v4l2_buffer_class_init, gst_v4l2_buffer_get_type)
(gst_v4l2_buffer_new): Behave more like ximagesink's buffers, with
finalization and resuscitation. No longer public.
(gst_v4l2_buffer_pool_finalize, gst_v4l2_buffer_pool_init)
(gst_v4l2_buffer_pool_class_init, gst_v4l2_buffer_pool_get_type)
(gst_v4l2_buffer_pool_new, gst_v4l2_buffer_pool_activate)
(gst_v4l2_buffer_pool_destroy): Make the pool follow common
miniobject semantics, and be threadsafe.
(gst_v4l2src_queue_frame): Remove this function, as we just call
the ioctls directly in the two places where we queue buffers.
(gst_v4l2src_grab_frame): Return a flowreturn and fill the buffer
directly.
(gst_v4l2src_capture_init): Use the new buffer_pool_new function
to allocate the pool, which also preallocates the GstBuffers.
(gst_v4l2src_capture_start): Call buffer_pool_activate instead of
queueing the frames directly.
* sys/v4l2/gstv4l2src.h (struct _GstV4l2BufferPool): Make this a
real MiniObject instead of rolling our own refcounting and
finalizing. Give it a lock.
(struct _GstV4l2Buffer): Remove one intermediary object, having
the buffers hold the struct v4l2_buffer directly.
* sys/v4l2/gstv4l2src.c (gst_v4l2src_set_caps): Pass the caps to
capture_init so that it can set them on the buffers that it will
create.
(gst_v4l2src_get_read): For better or for worse, include the
timestamping and offsetting code here; really we should be using
bufferalloc though.
(gst_v4l2src_get_mmap): Just make grab_frame return one of our
preallocated, mmap'd buffers.
Original commit message from CVS:
Patch by: daniel fischer <dan at f3c dot com>
* sys/ximage/gstximagesrc.c: (gst_ximage_src_start),
(gst_ximage_src_get_caps):
Actually use the display_name property so that we can dump any
available X display. Fixes#445905.