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.
Original commit message from CVS:
Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
* gst/rtp/gstrtppcmadepay.c: (gst_rtp_pcma_depay_setcaps):
* gst/rtp/gstrtppcmudepay.c: (gst_rtp_pcmu_depay_setcaps):
Add missing rate fields to caps. Fixes#441118.
Original commit message from CVS:
* win32/vs6/gst_plugins_good.dsw:
* win32/vs8/gst-plugins-good.sln:
Add DirectSound and DirectDraw sinks project files to
workspace and solution files.
Original commit message from CVS:
* ext/wavpack/gstwavpackenc.c: (gst_wavpack_enc_sink_set_caps):
Remove workaround for bug #421543. This is fixed in core 0.10.13 and
not necessary anymore as we need at least that core version.
Original commit message from CVS:
* ext/wavpack/gstwavpackdec.c: (gst_wavpack_dec_reset),
(gst_wavpack_dec_chain):
* ext/wavpack/gstwavpackdec.h:
* ext/wavpack/gstwavpackparse.c: (gst_wavpack_parse_reset),
(gst_wavpack_parse_push_buffer):
* ext/wavpack/gstwavpackparse.h:
Improve discont handling by checking if the next Wavpack block has
the expected, following block index.
Original commit message from CVS:
* ext/dv/gstdvdemux.c: (gst_dvdemux_loop):
* ext/libpng/gstpngdec.c: (user_read_data), (gst_pngdec_task):
When operating in pull mode, error out correct on not-linked.
Original commit message from CVS:
2007-06-06 Andy Wingo <wingo@pobox.com>
* sys/v4l2/v4l2src_calls.c (gst_v4l2src_probe_caps_for_format)
(gst_v4l2src_probe_caps_for_format_and_size): Only probe for
format and size if the ioctls are defined; should fix compilation
on Linux < 2.16.19.
Original commit message from CVS:
* gst/videobox/gstvideobox.c: (gst_video_box_ayuv_i420):
Printf fixes in debug statements; use LOG level for debug statements
that are printed for each and every frame; convert c++ comments to
C-style comments; not much point using g_try_malloc() if we then not
even check the return value.
Original commit message from CVS:
* configure.ac:
Bump requirements to released versions (core and base 0.10.13).
* gst/icydemux/gsticydemux.c: (gst_icydemux_unicodify):
Use gst_tag_utf8_from_freeform_string() from libgsttag instead of
own implementation.
Original commit message from CVS:
2007-06-05 Andy Wingo <wingo@pobox.com>
* sys/v4l2/gstv4l2src.c (gst_v4l2src_start, gst_v4l2src_stop): Add
some useless comments.
* sys/v4l2/v4l2src_calls.c (gst_v4l2src_capture_init): Don't queue
frames before calling STREAMON, that might leave them in a state
where they can't be dequeued if we go back to NULL without calling
STREAMON, according to the docs.
(gst_v4l2src_capture_start): Enqueue buffers here instead, right
before we call STREAMON.
(gst_v4l2src_capture_deinit): Remove crack to work around dequeue
failures. (For me this code hung.) The pool refcounting is still
crack; added a note to that effect.
Original commit message from CVS:
* gst/multipart/multipartmux.c: (gst_multipart_mux_class_init),
(gst_multipart_mux_get_mime), (gst_multipart_mux_collected):
Add support for mapping gst structure names to the MIME type equivalent.
Implemented for audio/x-mulaw->audio/basic. Fixes#442874.
Original commit message from CVS:
* gst/wavenc/gstwavenc.c: (gst_wavenc_create_header_buf),
(gst_wavenc_sink_setcaps), (gst_wavenc_format_samples),
(gst_wavenc_chain), (gst_wavenc_change_state):
* gst/wavenc/gstwavenc.h:
Properly write wav files with width!=depth by having the depth most
significant bytes set and all others zero. Fixes#442535.
Original commit message from CVS:
Patch by: Peter Kjellerstedt <pkj at axis com>
* gst/rtsp/rtspconnection.c: (rtsp_connection_create),
(rtsp_connection_connect), (add_date_header),
(rtsp_connection_send), (parse_response_status),
(parse_request_line), (parse_line), (rtsp_connection_receive):
* gst/rtsp/rtspdefs.c: (rtsp_version_as_text):
* gst/rtsp/rtspdefs.h:
* gst/rtsp/rtspmessage.c: (key_value_foreach),
(rtsp_message_init_request), (rtsp_message_init_response),
(rtsp_message_remove_header), (rtsp_message_append_headers),
(rtsp_message_dump):
* gst/rtsp/rtspmessage.h:
Improves version checking, allowing an RTSP server to reply with "505
RTSP Version not supported.
Adds a Date header to all messages.
Replies with RTSP_EPARSE rather than RTSP_EINVALID in cases where we
want to be able to send a response even if something in the request was
invalid. EINVAL is only used when passing wrong arguments to functions.
Do not handle an invalid method in parse_request_line(). Defer this to
the caller so it can respond with "405 Method Not Allowed".
Improves parsing of the timeout parameter to the Session header,
allowing whitespace after the semicolon.
Avoids a compiler warning due to variables shadowing a function argument.
Original commit message from CVS:
Based on Patch by: Daniel Charles <dcharles at ti dot com>
* gst/rtp/gstrtpamrdepay.c: (gst_rtp_amr_depay_setcaps),
(gst_rtp_amr_depay_process):
* gst/rtp/gstrtpamrdepay.h:
* gst/rtp/gstrtpamrpay.c: (gst_rtp_amr_pay_base_init),
(gst_rtp_amr_pay_class_init), (gst_rtp_amr_pay_init),
(gst_rtp_amr_pay_setcaps), (gst_rtp_amr_pay_handle_buffer):
* gst/rtp/gstrtpamrpay.h:
Add support for AMR-WB.
Small cleanups such as using BOILERPLATE.
Original commit message from CVS:
* gst/rtsp/rtspextwms.c: (rtsp_ext_wms_configure_stream):
Fix compile warning when debug is disabled as spotted bu Saur on IRC.
Original commit message from CVS:
2007-05-30 Andy Wingo <wingo@pobox.com>
* sys/v4l2/gstv4l2object.h:
* sys/v4l2/gstv4l2object.c (gst_v4l2_object_new): Revert some
unintended changes.
Original commit message from CVS:
2007-05-30 Andy Wingo <wingo@pobox.com>
* sys/v4l2/v4l2src_calls.h:
* sys/v4l2/v4l2src_calls.c (gst_v4l2src_fill_format_list): Store
the format list in the order that the driver gives it to us.
(gst_v4l2src_probe_caps_for_format_and_size)
(gst_v4l2src_probe_caps_for_format): New functions, fill GstCaps
based on the capabilities of the device.
(gst_v4l2src_grab_frame): Update for object variable renaming.
(gst_v4l2src_set_capture): Update to be strict in its parameters,
as in the set_caps below.
(gst_v4l2src_capture_init): Update for object variable renaming,
and reflow.
(gst_v4l2src_capture_start, gst_v4l2src_capture_stop)
(gst_v4l2src_capture_deinit): Update for object variable renaming.
(gst_v4l2src_update_fps, gst_v4l2src_set_fps)
(gst_v4l2src_get_fps): Remove; these functions don't have much
meaning outside of an atomic set_caps method.
(gst_v4l2src_buffer_new): Don't set buffer duration, it is not
known.
* sys/v4l2/gstv4l2tuner.c (gst_v4l2_tuner_set_channel): Remove
call to update_fps; not sure about this change.
(gst_v4l2_tuner_set_norm): Work around the fact that for the
moment we don't have an update_fps_func.
* sys/v4l2/gstv4l2src.h (struct _GstV4l2Src): Don't put v4l2
structures in the object, just store what we need. Do store the
probed caps of the device. Don't store the current frame rate.
* sys/v4l2/gstv4l2src.c (gst_v4l2src_init): Remove the
update_fps_function, for now. Update for new object variable
naming.
(gst_v4l2src_set_property, gst_v4l2src_get_property): Update for
new object variable naming.
(gst_v4l2src_v4l2fourcc_to_structure): Rename from ..._to_caps.
(gst_v4l2_structure_to_v4l2fourcc): Rename from ...caps_to_....
(gst_v4l2src_get_caps): Rework to probe the device for supported
frame sizes and frame rates.
(gst_v4l2src_set_caps): Rework to be strict in the given
parameters: if someone asks us to have a certain size and rate,
that is what we configure.
(gst_v4l2src_get_read): Update for object variable naming. Don't
leak buffers on short reads.
(gst_v4l2src_get_mmap): Update for object variable naming, and add
comments.
(gst_v4l2src_create): Update for object variable naming.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_base_init),
(gst_avi_demux_reset), (gst_avi_demux_parse_stream):
* gst/avi/gstavidemux.h:
Parse subtitle text streams instead of erroring out (#442034). Still
needs a parser for the subtitles to actually show up.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_push_event),
(gst_avi_demux_loop):
Make _push_event() return TRUE if the event could be pushed on at
least one pad and not only if it could be pushed on all pads,
otherwise we'll end up posting an error message on EOS if one or
more source pads are not connected.
Original commit message from CVS:
* ext/speex/gstspeexdec.c: (speex_dec_chain_parse_data):
Use different variables for nested for loops so that the outer loop
functions properly and speex files with multiple frames per buffer work
properly.
Fixes#441408.
Original commit message from CVS:
* ext/flac/gstflacenc.c: (gst_flac_enc_init),
(notgst_value_array_append_buffer),
(gst_flac_enc_process_stream_headers),
(gst_flac_enc_write_callback), (gst_flac_enc_chain),
(gst_flac_enc_change_state):
* ext/flac/gstflacenc.h:
Collect headers, add "streamheader" field to output caps and set
BUFFER_IN_CAPS flag on pushed header buffers. That way oggmux
produces output according to the official FLAC-to-Ogg mapping
instead of completely broken files. Fixes#426044.
Original commit message from CVS:
* gst/id3demux/gstid3demux.c: (gst_id3demux_reset),
(gst_id3demux_send_new_segment), (gst_id3demux_chain),
(gst_id3demux_sink_event):
* gst/id3demux/gstid3demux.h:
* gst/apetag/gsttagdemux.c: (gst_tag_demux_reset),
(gst_tag_demux_chain), (gst_tag_demux_sink_event),
(gst_tag_demux_send_new_segment):
Handle and adjust new-segment events so that downstream really
sees a stream with the tag pieces stripped off the front and back.
Fixes strangeness in seeking when mp3 decoders use the new-segment
byte position to estimate their current playback position timestamp
and then the arriving buffers don't match up.
Original commit message from CVS:
* gst/autodetect/gstautoaudiosink.c: (gst_auto_audio_sink_detect):
Don't unnecessarily perform a READY->NULL->READY transition on the
detected audio sink when starting up. Fixes: #440127
Original commit message from CVS:
* ext/flac/gstflacenc.c: (gst_flac_enc_sink_setcaps),
(gst_flac_enc_chain):
Don't crash in chain function if setcaps hasn't been called.
Original commit message from CVS:
Patch by: Peter Kjellerstedt <pkj at axis com>
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_setup_auth),
(gst_rtspsrc_try_send), (gst_rtspsrc_parse_methods),
(gst_rtspsrc_setup_streams), (gst_rtspsrc_open),
(gst_rtspsrc_play):
(rtsp_connection_send), (rtsp_connection_receive):
* gst/rtsp/rtspextwms.c: (rtsp_ext_wms_after_send):
Fix for new API.
* gst/rtsp/rtspconnection.c: (add_auth_header),
Only add authorisation and session headers when sending messages.
* gst/rtsp/rtspmessage.c: (key_value_foreach), (rtsp_message_init),
(rtsp_message_init_request), (rtsp_message_init_response),
(rtsp_message_unset), (rtsp_message_add_header),
(rtsp_message_remove_header), (rtsp_message_get_header),
(rtsp_message_append_headers), (dump_key_value),
(rtsp_message_dump):
* gst/rtsp/rtspmessage.h:
Add support for multiple headers of the same type by storing the parsed
headers in a GArray instaed of a hashtable.
Original commit message from CVS:
* gst/udp/gstudpsrc.c: (gst_udpsrc_class_init),
(gst_udpsrc_create), (gst_udpsrc_unlock), (gst_udpsrc_unlock_stop):
Since we depend on 0.10.13 -core, override the unlock_stop vmethod for
safer shutdown.
Original commit message from CVS:
Patch by: René Stadler <mail at renestadler dot de>
* configure.ac:
* gst/auparse/gstauparse.c: (gst_au_parse_reset),
(gst_au_parse_parse_header), (gst_au_parse_chain):
* gst/auparse/gstauparse.h:
Use audioconvert for converting from non-native endianness floats
in auparse instead of doing it ourself. Fixes#424527.
This needs the audioconvert from plugins-base CVS.
Original commit message from CVS:
Patch by: Antoine Tremblay <hexa00 at gmail dot com>
* gst/rtp/gstrtph263ppay.c: (gst_fragmentation_mode_get_type),
(gst_rtp_h263p_pay_class_init), (gst_rtp_h263p_pay_init),
(gst_rtp_h263p_pay_set_property), (gst_rtp_h263p_pay_get_property),
(gst_rtp_h263p_pay_flush):
* gst/rtp/gstrtph263ppay.h:
Add new fragmentation mode base on GOB headers. Fixes#438940.
Original commit message from CVS:
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_setup_streams):
Don't crash when an unsupported transport error was returned by the
server, just try to configure the next stream. Fixes#439255.
Original commit message from CVS:
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_class_init),
(gst_rtspsrc_set_property), (gst_rtspsrc_get_property),
(gst_rtspsrc_stream_configure_udp), (gst_rtspsrc_loop_interleaved),
(gst_rtspsrc_loop_udp), (gst_rtspsrc_try_send), (gst_rtspsrc_send),
(gst_rtspsrc_setup_streams), (gst_rtspsrc_open):
* gst/rtsp/gstrtspsrc.h:
Add TCP timeout property and use it for all TCP connection.
* gst/rtsp/rtspconnection.c: (rtsp_connection_connect),
(rtsp_connection_write), (rtsp_connection_next_timeout),
(rtsp_connection_reset_timeout):
Make connect and writes cancelable and make them use the timeout.
Original commit message from CVS:
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_send_keep_alive),
(gst_rtspsrc_loop_interleaved), (gst_rtspsrc_loop_udp),
(gst_rtspsrc_try_send), (gst_rtspsrc_send),
(gst_rtspsrc_setup_streams):
Refactor timeout handling.
Also send keep-alive when dealing with TCP transport.
* gst/rtsp/rtspconnection.c: (rtsp_connection_create),
(rtsp_connection_free), (rtsp_connection_next_timeout),
(rtsp_connection_reset_timeout):
* gst/rtsp/rtspconnection.h:
Use a timer to handle the session timeouts, add some methods to deal
with timeouts.
Original commit message from CVS:
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_send),
(gst_rtspsrc_setup_streams):
Ignore streams that fail the setup command, we will retry with a
different transport later on.
* gst/rtsp/rtspextwms.c: (rtsp_ext_wms_parse_sdp),
(rtsp_ext_wms_configure_stream):
Fix encoding name case.
Original commit message from CVS:
* ext/raw1394/gstdv1394src.c: (gst_dv1394src_uri_set_uri):
Replace direct comparison of a string with the string literal "" with
a comparison of the first character with '\0'. Fixes#438926.
Original commit message from CVS:
* gst/rtp/gstrtptheoradepay.c: (decode_base64),
(gst_rtp_theora_depay_parse_configuration):
* gst/rtp/gstrtptheorapay.c: (encode_base64),
(gst_rtp_theora_pay_finish_headers),
(gst_rtp_theora_pay_handle_buffer):
Update theora pay/depayloader in a similar to vorbis.
* gst/rtp/gstrtpvorbisdepay.c:
(gst_rtp_vorbis_depay_parse_configuration):
Update docs.
Original commit message from CVS:
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_send):
When we try to execute a method that is not supported by the server,
don't error out but remove the method from the accepted methods so that
we never try to perform this method again.
Original commit message from CVS:
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_parse_range):
Parse range correctly.
* gst/rtsp/rtspurl.c: (rtsp_url_get_request_uri):
The baseurl now always has a '/' at the start.
Original commit message from CVS:
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_configure_caps),
(gst_rtspsrc_parse_range), (gst_rtspsrc_open),
(gst_rtspsrc_parse_rtpinfo), (gst_rtspsrc_play):
Factor out caps configuration and configure more stuff such as the time
ranges and speed/scale values.
* gst/rtsp/rtsptransport.c:
Add Copyright after non-trival fixes.
Original commit message from CVS:
* gst/level/gstlevel.c: (gst_level_transform_ip):
Use guint8 * instead of gpointer then vs6 can build
in_data += (filter->width / 8).
Original commit message from CVS:
Patch by: Peter Kjellerstedt <pkj at axis com>
* gst/rtsp/gstrtspsrc.h:
* gst/rtsp/rtspconnection.c: (rtsp_connection_receive):
* gst/rtsp/rtspmessage.c: (rtsp_message_init_data),
(rtsp_message_get_header):
* gst/rtsp/rtspmessage.h:
Make channel guint8 where possible.
Make rtsp_message_init_data() take the channel as a guint8.
* gst/rtsp/rtspdefs.c:
Fixed a typo: Timout -> Timeout
* gst/rtsp/rtspdefs.h:
Make RTSP_CHECK() behave as a statement.
* gst/rtsp/sdpmessage.c:
Avoid a compiler warning in INIT_ARRAY().
Fixes#437692.
Original commit message from CVS:
Patch by: Peter Kjellerstedt <pkj at axis com>
* gst/rtsp/rtspurl.c: (rtsp_url_parse), (rtsp_url_free),
(rtsp_url_get_request_uri):
* gst/rtsp/rtspurl.h:
Add support for query parameters to RTSP URLs.
Original commit message from CVS:
Patch by: Peter Kjellerstedt <pkj at axis com>
* gst/rtsp/rtsptransport.c: (rtsp_transport_init), (parse_mode),
(parse_range), (range_as_text), (rtsp_transport_mode_as_text),
(rtsp_transport_profile_as_text), (rtsp_transport_ltrans_as_text),
(rtsp_transport_parse), (rtsp_transport_as_text):
* gst/rtsp/rtsptransport.h:
Add validation to rtsp_transport_parse().
Add rtsp_transport_as_text() to generate an RTSP header from an
RTSPTransport.
Change ssrc to guint (was a string) since that is what it is, even
though it is sent as a hex string.
Correctly identify PLAY|RECORD mode parameters (the syntax in the RFC is
incorrect, which can be seen when looking at the examples in the RFC).
Fixes#437670.
Original commit message from CVS:
Patch by: Eric Anholt
* sys/ximage/gstximagesrc.c (gst_ximage_src_open_display,
gst_ximage_src_ximage_get):
Use union of all damage between frames to make it faster.
Fixes bug #342463.
Also fix crasher when cursor is at bottom right of window.
Original commit message from CVS:
* gst/wavparse/gstwavparse.c: (gst_wavparse_stream_headers):
Skip LIST chunks before the fmt chunk (fixes#437499). Also fix
streaming mode regression for file from #343837 with 'bext' chunk
before the 'fmt' chunk.
Original commit message from CVS:
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_flush),
(gst_rtspsrc_do_seek), (gst_rtspsrc_perform_seek),
(gst_rtspsrc_handle_src_event),
(gst_rtspsrc_stream_configure_manager),
(gst_rtspsrc_stream_configure_tcp), (gst_rtspsrc_loop_interleaved),
(gst_rtspsrc_send_keep_alive), (gst_rtspsrc_open),
(gst_rtspsrc_parse_rtpinfo), (gst_rtspsrc_play):
* gst/rtsp/gstrtspsrc.h:
* gst/rtsp/rtspdefs.h:
Preliminary seek support.
Activate internal pads so that we can receive events on them.
Don't try to parse a range string when it's NULL.
Original commit message from CVS:
* gst/rtp/README:
Update README with new RTP variables that will be used for
synchronisation.
* gst/rtp/gstrtpvorbisdepay.c: (decode_base64),
(gst_rtp_vorbis_depay_parse_configuration),
(gst_rtp_vorbis_depay_process):
* gst/rtp/gstrtpvorbispay.c: (encode_base64),
(gst_rtp_vorbis_pay_finish_headers),
(gst_rtp_vorbis_pay_handle_buffer):
Update vorbis pay and depayloader to draft-04.
Original commit message from CVS:
* sys/ximage/gstximagesrc.c (gst_ximage_src_start,
gst_ximage_src_ximage_get):
* sys/ximage/gstximagesrc.h (last_ximage):
When using Damage actually keep the last frame, and not assume
that the buffer we get already has the last frame on it.
Copy the cursor over if we specify a non-zero start x and
start y.
Original commit message from CVS:
* gst/level/gstlevel.c: (gst_level_calculate_##TYPE),
(gst_level_transform_ip):
Use guint8 * instead of gpointer then vs6 know the size of data
pointed when moving the pointer.
* gst/rtp/gstrtph264pay.c: (gst_rtp_h264_pay_handle_buffer):
Move instructions after variables declaration.
* win32/vs6/autogen.dsp:
* win32/vs6/libgstrtp.dsp:
* win32/vs6/libgstrtsp.dsp:
Update vs6 project files.
Original commit message from CVS:
* gst/rtsp/Makefile.am:
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_handle_src_query),
(gst_rtspsrc_send_keep_alive), (gst_rtspsrc_open):
* gst/rtsp/rtsprange.c: (parse_npt_time), (parse_npt_range),
(parse_clock_range), (parse_smpte_range), (rtsp_range_parse),
(rtsp_range_free):
* gst/rtsp/rtsprange.h:
Add code to parse time ranges.
Report DURATION on the stream when possible.
Original commit message from CVS:
* gst/videomixer/videomixer.c: (gst_videomixer_blend_ayuv_ayuv),
(gst_videomixer_fill_checker), (gst_videomixer_fill_color),
(gst_videomixer_collected):
Fix strides calculation for AYUV (it's just width*4) (#436910).
Original commit message from CVS:
* gst/audiofx/audioamplify.c: (gst_audio_amplify_transform_ip):
* gst/audiofx/audiodynamic.c: (gst_audio_dynamic_transform_ip):
* gst/audiofx/audioinvert.c: (gst_audio_invert_transform_ip):
Sync the GObject properties before each processing step to properly
work with the controller.
Original commit message from CVS:
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_send_keep_alive),
(gst_rtspsrc_loop_udp), (gst_rtspsrc_try_send), (gst_rtspsrc_send),
(gst_rtspsrc_setup_streams), (gst_rtspsrc_open),
(gst_rtspsrc_close), (gst_rtspsrc_play), (gst_rtspsrc_pause),
(gst_rtspsrc_change_state):
Let more error state trickle down so that we can catch more error
cases.
Handle keep-alive a little smarter by selecting a method the server
actually supports.
Fix a race in UDP streaming shutdown.
Original commit message from CVS:
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_handle_src_event),
(gst_rtspsrc_handle_src_query), (gst_rtspsrc_sink_chain),
(gst_rtspsrc_stream_configure_manager),
(gst_rtspsrc_stream_free_udp), (gst_rtspsrc_stream_configure_tcp),
(gst_rtspsrc_stream_configure_mcast),
(gst_rtspsrc_stream_configure_udp),
(gst_rtspsrc_stream_configure_udp_sink),
(gst_rtspsrc_stream_configure_transport):
Send RTCP messages back to the server over the TCP connection.
* gst/rtsp/rtspconnection.c: (rtsp_connection_write),
(rtsp_connection_send), (rtsp_connection_read), (read_body),
(rtsp_connection_receive):
* gst/rtsp/rtspconnection.h:
Factor out and expose lowlevel _write and _read methods.
Implement sending data messages to the server.
Original commit message from CVS:
* gst/multipart/multipartmux.c: (gst_multipart_mux_queue_pads),
(gst_multipart_mux_collected):
Fix timestamps on outgoing buffers.
Original commit message from CVS:
* gst/multipart/multipartmux.c:
(gst_multipart_mux_request_new_pad), (gst_multipart_mux_collected),
(gst_multipart_mux_change_state):
Emit NEWSEGMENT events before pushing the first buffer.
Original commit message from CVS:
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_finalize),
(gst_rtspsrc_alloc_udp_ports), (gst_rtspsrc_handle_src_event),
(gst_rtspsrc_handle_src_query),
(gst_rtspsrc_stream_configure_manager),
(gst_rtspsrc_stream_free_udp), (gst_rtspsrc_stream_configure_tcp),
(gst_rtspsrc_stream_configure_mcast),
(gst_rtspsrc_stream_configure_udp),
(gst_rtspsrc_stream_configure_udp_sink),
(gst_rtspsrc_stream_configure_transport), (gst_rtspsrc_push_event),
(gst_rtspsrc_loop_udp), (gst_rtspsrc_open),
(gst_rtspsrc_parse_rtpinfo), (gst_rtspsrc_play),
(gst_rtspsrc_pause):
Refactor transport configuration code.
Create internal pads for TCP transport so that we can implement events
and queries.
Handle events and queries.
Parse range from the SDP.
Fix race in pause handler where the connection could still be flushing.
Original commit message from CVS:
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_init),
(gst_rtspsrc_finalize), (new_session_pad), (request_pt_map),
(gst_rtspsrc_loop_send_cmd), (gst_rtspsrc_try_send),
(gst_rtspsrc_send), (gst_rtspsrc_async_open), (gst_rtspsrc_close),
(gst_rtspsrc_play), (gst_rtspsrc_handle_message),
(gst_rtspsrc_change_state):
* gst/rtsp/gstrtspsrc.h:
Fix race when multiple udp sources post timeouts, just act on the first
received timeout.
Protect stream list with a recursive lock to fix some races.
Flush connection when we need to do a reconnect or stop.
Make state lock recursive.
* gst/rtsp/rtspconnection.c: (rtsp_connection_connect),
(rtsp_connection_close):
Some small cleanups.
Original commit message from CVS:
* gst/wavparse/gstwavparse.c: (gst_wavparse_perform_seek),
(gst_wavparse_stream_headers), (gst_wavparse_stream_data):
Only set DISCONT when there actually is a discont or when we just
started.
Original commit message from CVS:
* gst/wavparse/gstwavparse.c: (gst_wavparse_perform_seek),
(gst_wavparse_stream_headers), (gst_wavparse_add_src_pad),
(gst_wavparse_stream_data):
* gst/wavparse/gstwavparse.h:
Be a bit more clever when dealing with VBR files with FACT tags, we
don't want to timestamp buffers in that case but the estimated BPS can
be used for seeking.
Only send close segment in the streaming thread.
Original commit message from CVS:
* ext/flac/gstflacdec.c: (gst_flac_dec_loop):
Correctly post an error on the bus if something went wrong in the loop
function. This fixes a few cases where the task was paused and nothing
happened anymore.
Original commit message from CVS:
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_init),
(gst_rtspsrc_finalize), (gst_rtspsrc_stream_configure_transport),
(gst_rtspsrc_handle_request), (gst_rtspsrc_loop_interleaved),
(gst_rtspsrc_send_keep_alive), (gst_rtspsrc_loop_udp),
(gst_rtspsrc_loop_send_cmd), (gst_rtspsrc_try_send),
(gst_rtspsrc_open), (gst_rtspsrc_handle_message):
* gst/rtsp/gstrtspsrc.h:
Fix sending RTCP to the right place.
Fix bug in reffing the wrong UDP element.
Use new pad names for the session manager.
Implement handling server requests in interleaved and UDP modes.
Handle session keep-alive in UDP modes.
Remove GCond for handling UDP timeouts.
* gst/rtsp/rtspconnection.c: (rtsp_connection_connect),
(rtsp_connection_send), (rtsp_connection_read), (read_body),
(rtsp_connection_receive), (rtsp_connection_close):
* gst/rtsp/rtspconnection.h:
Store connection IP address for later.
Add timeout args to all operations that might block forever.
Parse session timeout.
Only close sockets when not already closed.
* gst/rtsp/rtspdefs.c:
* gst/rtsp/rtspdefs.h:
Add timeout return value and error string.
* gst/rtsp/rtspmessage.c: (rtsp_message_init_response):
Add small comment.
Original commit message from CVS:
* docs/plugins/gst-plugins-good-plugins-docs.sgml:
Remove v4l2src from docs, since it breaks the docs build, and the
plugin is only built if --enable-experimental is used anyway.
* docs/plugins/Makefile.am:
Spaces => tab.
Original commit message from CVS:
* gst/udp/gstmultiudpsink.c: (leave_multicast),
(gst_multiudpsink_add), (gst_multiudpsink_remove):
Add code to drop membership of a multicast group.
* gst/udp/gstudpsink.c: (gst_udpsink_update_uri),
(gst_udpsink_set_uri):
Implement URI handler.
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_stream_configure_transport),
(gst_rtspsrc_parse_rtpinfo):
Use URI handler to make udpsink instace.
Improve code to configure port and destination.
Original commit message from CVS:
* gst/udp/gstmultiudpsink.c: (gst_multiudpsink_add):
Fix multicast detection.
Don't try to join a multicast group if the address is not multicast.
* gst/udp/gstudpsrc.c: (gst_udpsrc_update_uri):
Small debug improvement.
Original commit message from CVS:
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_stream_configure_transport),
(gst_rtspsrc_parse_rtpinfo), (gst_rtspsrc_play),
(gst_rtspsrc_handle_message):
Ignore ASYNC state messages from the udpsink, it's irrelevant for the
parent.
Original commit message from CVS:
* gst/udp/gstudpsrc.c: (gst_udpsrc_create):
Handle the case where there are exactly 0 bytes to read and the ioctl
did not report an error. Fixes#433530.
Original commit message from CVS:
* gst/wavparse/gstwavparse.c: (gst_wavparse_perform_seek),
(gst_wavparse_stream_headers), (gst_wavparse_stream_data):
* gst/wavparse/gstwavparse.h:
Apply DISCONT to buffers.
Only apply timestamp to the first sample after a DISCONT, too many VBR
files cause random jitter in the timestamps. Fixes#433119.
Original commit message from CVS:
* gst/rtsp/gstrtpdec.c: (gst_rtp_dec_class_init),
(gst_rtp_dec_init), (gst_rtp_dec_set_property),
(gst_rtp_dec_get_property):
* gst/rtsp/gstrtpdec.h:
Add dummy latency property to be backwards compat with rtpbin.
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_class_init),
(gst_rtspsrc_set_property), (gst_rtspsrc_get_property),
(gst_rtspsrc_stream_configure_transport),
(gst_rtspsrc_parse_rtpinfo):
* gst/rtsp/gstrtspsrc.h:
Add latency property and configure in the session manager.
Don't set invalid clock-base and seqnum-base on caps, some servers
sometimes don't send them.
Original commit message from CVS:
* gst/alpha/gstalphacolor.c: (gst_alpha_color_base_init),
(gst_alpha_color_transform_caps), (gst_alpha_color_set_caps):
Double-check that RGB input caps are really RGBA caps (apparently
the core doesn't always catch it if those caps aren't a subset of
our template caps, also see #421543). Fixes#429319 in a way.
Also, don't leak the pad template in the transform_caps function.
* tests/check/Makefile.am:
* tests/check/elements/.cvsignore:
* tests/check/elements/alphacolor.c: (setup_alphacolor),
(cleanup_alphacolor), (create_caps_rgb24), (create_caps_rgba32),
(create_buffer_rgb24_3x4), (create_buffer_rgba32_3x4),
(GST_START_TEST), (alphacolor_suite):
Add some basic unit tests for alphacolor.
Original commit message from CVS:
* ext/libpng/gstpngdec.c: (gst_pngdec_task):
If we get a fatal flow return in the loop function, first post the
error message and only then send the EOS event downstream, otherwise
applications might get an eos message before the error message and
think everything was ok (related to #429319).
Original commit message from CVS:
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_finalize),
(gst_rtspsrc_stream_free), (request_pt_map),
(gst_rtspsrc_stream_configure_transport), (gst_rtspsrc_open):
* gst/rtsp/gstrtspsrc.h:
Parse server address from SDP.
Hook up a udpsink to send RTCP back to the server.
* docs/plugins/gst-plugins-good-plugins-sections.txt:
* gst/rtsp/rtsptransport.h:
Add some docs.
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:
* docs/plugins/inspect/plugin-alphacolor.xml:
* gst/alpha/Makefile.am:
* gst/alpha/gstalphacolor.c:
* gst/alpha/gstalphacolor.h:
Add minimal docs blurb to alphacolor; split out headers into
separate header file for gtk-doc.
Original commit message from CVS:
* gst/debug/progressreport.c: (gst_progress_report_report):
Don't try to post NULL message (in case we can't query upstream
position or duration).
Original commit message from CVS:
* gst/cutter/gstcutter.c: (gst_cutter_init), (gst_cutter_chain),
(gst_cutter_get_caps):
* gst/cutter/gstcutter.h:
Fix some of the most obvious bugs in cutter. Now doesn't leak
everything if input is silent.
Original commit message from CVS:
* gst/wavenc/gstwavenc.c: (gst_wavenc_create_header_buf),
(gst_wavenc_sink_setcaps), (gst_wavenc_change_state):
* gst/wavenc/gstwavenc.h:
Wav apparently only supports width==GST_ROUND_UP(depth), everything
else results in a invalid block align and invalid files.
Original commit message from CVS:
Patch by: Vincent Torri <vtorri at univ-evry dot fr>
* gst/wavparse/gstwavparse.c: (gst_wavparse_stream_headers):
Use correct format strings for integer types.
Original commit message from CVS:
* gst/wavparse/gstwavparse.c: (gst_wavparse_base_init),
(gst_wavparse_create_sourcepad):
Use gst_riff_create_audio_template_caps () instead of the local caps.
This makes updates of the local caps unecessary whenever libgstriff
gets support for new formats.
Original commit message from CVS:
* gst/wavparse/gstwavparse.c: (uint64_ceiling_scale_int),
(gst_wavparse_perform_seek), (gst_wavparse_stream_headers),
(gst_wavparse_stream_data):
Relax the audio/mpeg caps again and add FIXME: comment.
Original commit message from CVS:
* gst/wavparse/gstwavparse.c: (uint64_ceiling_scale_int),
(gst_wavparse_perform_seek), (gst_wavparse_stream_headers),
(gst_wavparse_stream_data):
* gst/wavparse/gstwavparse.h:
More sanity check for the header fields. Fix type for 'rate' header
field.
Original commit message from CVS:
* gst/icydemux/gsticydemux.c: (notgst_tag_freeform_string_to_utf8),
(gst_icydemux_unicodify):
If the metadata strings we get in the stream are not UTF-8, try to
interpret them according to the character encodings specified in the
GST_ICY_TAG_ENCODING and GST_TAG_ENCODING environment variables, and
only fall back to locale/ISO-8859-1 if those aren't set or don't
work. Should fix#428901.
Original commit message from CVS:
* gst/rtp/Makefile.am:
* gst/rtp/fnv1hash.c (MASK_24, FNV1_HASH_32_INIT, FNV1_HASH_32_PRIME,
fnv1_hash_32_new, fnv1_hash_32_update, fnv1_hash_32_to_24):
* gst/rtp/fnv1hash.h (__GST_FNV1_HASH_H__):
Add a simple hashing implementation that we can use to generate
a 24-bit ident value based on the codebooks for vorbis and theora.
* gst/rtp/gstrtptheorapay.c (gst_rtp_theora_pay_finish_headers,
gst_rtp_theora_pay_handle_buffer):
* gst/rtp/gstrtpvorbisdepay.c
(gst_rtp_vorbis_depay_parse_configuration,
gst_rtp_vorbis_depay_switch_codebook, gst_rtp_vorbis_depay_process):
* gst/rtp/gstrtpvorbispay.c (gst_rtp_vorbis_pay_reset_packet,
gst_rtp_vorbis_pay_init_packet, gst_rtp_vorbis_pay_flush_packet,
gst_rtp_vorbis_pay_finish_headers, gst_rtp_vorbis_pay_handle_buffer):
Use the hashing function, ensuring that the same codebooks result
in the same ident and thus the same SDP description.
Various log fixes/changes.
Original commit message from CVS:
Patch by: jerry tan <jerry dot tan at sun dot com>
* sys/sunaudio/gstsunaudiosrc.c: (gst_sunaudiosrc_open):
remove the call of ioctl (fd, AUDIO_MIXER_MULTIPLE_OPEN), it is the
application's responsibility to make sure it open the device once.
Remove a careless error if AUDIODEV is set. Fixes#392620.
Original commit message from CVS:
* gst/rtsp/gstrtpdec.c: (gst_rtp_dec_marshal_BOXED__UINT_UINT),
(gst_rtp_dec_class_init), (gst_rtp_dec_chain_rtp):
* gst/rtsp/gstrtpdec.h:
Make backward compat with rtpbin by adding the request-pt-map signals.
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_create_stream),
(new_session_pad), (request_pt_map),
(gst_rtspsrc_stream_configure_transport),
(gst_rtspsrc_stream_configure_caps),
(gst_rtspsrc_activate_streams):
* gst/rtsp/gstrtspsrc.h:
Implement request-pt-map signals instead of setting caps on the buffers
for the session manager.
Original commit message from CVS:
* gst/udp/gstudp.c: (plugin_init):
Register GstNetBuffer in plugin_init so that the type can be used from
multiple threads without races.
Original commit message from CVS:
* gst/rtp/gstrtpamrdepay.c: (gst_rtp_amr_depay_setcaps),
(gst_rtp_amr_depay_process):
Fix depayloader clock_rate and some cleanups.
* gst/rtp/gstrtph264depay.c: (gst_rtp_h264_depay_finalize),
(gst_rtp_h264_depay_setcaps), (gst_rtp_h264_depay_process):
* gst/rtp/gstrtph264depay.h:
Don't push codec_data in the adapter because it might get flushed when
we get a discont.
* gst/rtp/gstrtpmp4gdepay.c: (gst_rtp_mp4g_depay_process):
Handle multiple AU per packet.
* gst/rtp/gstrtpsv3vdepay.c: (gst_rtp_sv3v_depay_process),
(gst_rtp_sv3v_depay_plugin_init):
Disable rank, this one does not work.
Remove timestamping, base class does that.
Original commit message from CVS:
* gst/auparse/gstauparse.c: (gst_au_parse_parse_header):
limit caps to the formats we announce in the template
* gst/wavparse/gstwavparse.c: (uint64_ceiling_scale_int),
(gst_wavparse_perform_seek), (gst_wavparse_stream_headers),
(gst_wavparse_add_src_pad), (gst_wavparse_stream_data):
fix some crashers/asserts when dealing with broken files
Original commit message from CVS:
* gst/rtp/gstrtpmp4adepay.c: (gst_rtp_mp4a_depay_class_init),
(gst_rtp_mp4a_depay_setcaps), (gst_rtp_mp4a_depay_plugin_init):
This element is ready to be autoplugged.
Original commit message from CVS:
2007-04-05 Julien MOUTTE <julien@moutte.net>
* gst/avi/gstavidemux.c: (gst_avi_demux_process_next_entry):
Don't leave the offsets defined by upstream element on the
compressed data buffer we are pushing downstream. Make them
GST_BUFFER_OFFSET_NONE.
Original commit message from CVS:
* gst/wavparse/gstwavparse.c:
Support audio/x-raw-float in wav files. This only works with
plugins-base CVS, using an older version doesn't have any
disadvantages though.
Original commit message from CVS:
* configure.ac:
* gst/auparse/gstauparse.c: (gst_au_parse_reset),
(gst_au_parse_parse_header), (gst_au_parse_chain):
* gst/auparse/gstauparse.h:
Revert last change as we don't want plugins-good to depend on
plugins-base CVS now.
Original commit message from CVS:
* configure.ac:
Require gst-plugins-base CVS for audioconvert with non-native
float support and width/depth fix in libgstriff.
Patch by: René Stadler <mail at renestadler dot de>
* gst/auparse/gstauparse.c: (gst_au_parse_reset),
(gst_au_parse_parse_header), (gst_au_parse_chain):
* gst/auparse/gstauparse.h:
Don't swap the floats ourself if they're not in native endianness.
Instead let audioconvert handle this. Fixes#339838.
Original commit message from CVS:
* gst/wavenc/gstwavenc.c: (gst_wavenc_create_header_buf),
(gst_wavenc_sink_setcaps):
Correctly handle width!=depth input.
* gst/wavparse/gstwavparse.c:
Already export in the caps that width==8 uses unsigned samples and
everything else uses signed samples.
Original commit message from CVS:
Patch by: Laurent Glayal <spglegle at yahoo dot fr>
* gst/udp/gstdynudpsink.c: (gst_dynudpsink_class_init),
(gst_dynudpsink_init), (gst_dynudpsink_set_property),
(gst_dynudpsink_get_property), (gst_dynudpsink_init_send),
(gst_dynudpsink_close):
* gst/udp/gstdynudpsink.h:
* gst/udp/gstudpsrc.c: (gst_udpsrc_class_init), (gst_udpsrc_init),
(gst_udpsrc_create), (gst_udpsrc_set_property),
(gst_udpsrc_get_property), (gst_udpsrc_start), (gst_udpsrc_stop):
* gst/udp/gstudpsrc.h:
Rework the socket allocation a bit based on the sockfd argument so that
it becomes usable.
Add a closefd property to instruct the udp elements to close the custom
file descriptors when going to READY. Fixes#423304.
API:GstUDPSrc::closefd property
API:GstDynUDPSink::closefd property