Original commit message from CVS:
* gst-libs/gst/sdp/gstsdpmessage.c: (is_multicast_address):
Include Winsock2.h for VS6 and use a different way initialize
hints structure so it can build with VS6.
* win32/MANIFEST:
* win32/vs6/libgstsdp.dsp:
* win32/common/libgstsdp.def:
Add new files for libgstsdp.
* win32/vs6/grammar.dsp:
Copy pbutils-enumtypes* from win32/common to pbutils sources folder.
* win32/vs6/gst_plugins_base.dsw:
* win32/vs6/libgstdecodebin.dsp:
* win32/vs6/libgstdecodebin2.dsp:
* win32/vs6/libgstplaybin.dsp:
* win32/vs6/libgstvolume.dsp:
Add new dependencies to the link list.
Original commit message from CVS:
* configure.ac:
* gst-libs/gst/rtsp/Makefile.am:
Add test to see if hstrerror is available or if we need libresolv
(Solaris) for it, then use it in libgstrtsp.
Original commit message from CVS:
* gst-libs/gst/pbutils/install-plugins.c:
(gst_install_plugins_context_copy),
(gst_install_plugins_context_get_type):
* gst-libs/gst/pbutils/install-plugins.h:
Add GBoxed GType for GstInstallPluginsContext, this eases the wrapping
for bindings.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_class_init):
* gst-libs/gst/audio/gstbaseaudiosrc.c:
(gst_base_audio_src_class_init):
Ref audio clock class from a thread-safe context to make sure
we're not bit by GObjects lack of thread-safety here (#349410),
however unlikely that may be in practice.
Original commit message from CVS:
* gst-libs/gst/tag/gsttagdemux.c: (gst_tag_demux_pull_start_tag):
Post an error message if we can't pull as many bytes as we need
for the tag. This makes sure the user gets to see a proper error
message if a file with a partial ID3 tag is fed to decodebin, and
not a 'no ID3 tag demuxer' error, which would be confusing
(see #508138).
Original commit message from CVS:
* gst-libs/gst/audio/gstaudiofilter.c: (gst_audio_filter_get_type):
Don't set element details for the abstract GstAudioFilter class.
Original commit message from CVS:
* gst-libs/gst/audio/gstaudiofilter.c:
(gst_audio_filter_class_init), (gst_audio_filter_get_unit_size):
Implement get_unit_size() vmethod of GstBaseTransform.
Original commit message from CVS:
* gst-libs/gst/pbutils/Makefile.am:
* gst-libs/gst/pbutils/pbutils.h:
Use glib-enum generator to have a proper enum GType for
GST_TYPE_INSTALL_PLUGINS_RETURN so we can easily wrap it in bindings.
Original commit message from CVS:
* gst-libs/gst/rtsp/gstrtspdefs.c: (rtsp_init_status):
* gst-libs/gst/rtsp/gstrtspdefs.h:
Add Location header so that we can start implementing redirects.
See #506025.
Original commit message from CVS:
* gst-libs/gst/audio/gstaudiosink.c: (audioringbuffer_thread_func),
(gst_audioringbuffer_open_device),
(gst_audioringbuffer_close_device), (gst_audioringbuffer_acquire),
(gst_audioringbuffer_release), (gst_audioringbuffer_start),
(gst_audioringbuffer_pause), (gst_audioringbuffer_stop),
(gst_audio_sink_create_ringbuffer):
Improve debug output.
* gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_start),
(gst_ring_buffer_pause), (gst_ring_buffer_delay):
Prevent some functions from doing things and failing when the
ringbuffer is not yet acquired.
Original commit message from CVS:
* docs/libs/gst-plugins-base-libs-sections.txt:
* gst-libs/gst/video/video.c:
* gst-libs/gst/video/video.h:
Add new GstVideFormat enum and write a bunch of helper functions
based around it.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosrc.c:
(gst_base_audio_src_create), (gst_base_audio_src_change_state):
Add debug info.
When going from PLAYING to PAUSED, pause the ringbuffer before calling
the parent state change function, just like the audiosink, because the
parent waits for the element to finish its processing before completing
the state change. This makes going to PAUSED a lot snappier.
When going from READY to PAUSED, don't allow the ringbuffer to start
yet.
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps):
Yet another fix for broken software that produce files with an empty
blockalign field. Instead of completely failing, make a second attempt
at guessing the width/depth by looking at strf->size.
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps):
Be apologetic of software that use the 'jpeg' instead of 'JPEG' FOURCC
for jpeg video streams.
Add the 'avc1'/'AVC1' fourcc mapping for h264, same software-comment as
for the above modification.
Original commit message from CVS:
* gst-libs/gst/interfaces/xoverlay.c: (gst_x_overlay_expose),
(gst_x_overlay_handle_events):
More guards (we don't want klass to end up being NULL).
Original commit message from CVS:
Patch by: Peter Kjellerstedt <pkj at axis com>
* gst-libs/gst/rtsp/gstrtspconnection.c:
(gst_rtsp_connection_free):
Close control sockets. Fixes#503440.
Original commit message from CVS:
* gst-libs/gst/pbutils/descriptions.c: (formats):
Add description for 'private' dts caps (who come up with that name?).
Original commit message from CVS:
* Makefile.am:
Add check-exports target and run it with 'make check'.
* configure.ac:
Be stricter about what we export in our libraries: change regexp so that
we only export _gst_foo(), but not __gst_foo().
* gst-libs/gst/cdda/base64.h: (rfc822_binary):
* gst-libs/gst/cdda/sha1.h: (sha_init), (sha_update), (sha_final):
Change internal functions to __gst_foo so they dont' get exported.
* win32/common/libgstaudio.def:
Add missing symbols.
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps):
No need for floating point operations here. avoids having to link
against the math library too.
Original commit message from CVS:
* gst-libs/gst/pbutils/descriptions.c: (formats),
(format_info_get_desc):
* tests/check/libs/pbutils.c: (GST_START_TEST), (caps_strings),
(GST_START_TEST):
Add one or two missing formats. Generate ADPCM description
dynamically depending on layout/format.
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertppayload.c: (gst_basertppayload_push):
Use runnning time as the base time instead of the timestamp.
Spotted by Saur on IRC.
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps):
Add 'WVC1' codec mapping for Windows Media VC-1 video codec.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_drain):
Our EOS time contains the base_time, _wait_eos() expects a running_time
so we have to subtract the base_time again before calling the function.
This fixes an EOS regression where the base_time was added twice and EOS
took longer and longer in certain situations.
Fixes#498767.
Original commit message from CVS:
* docs/libs/gst-plugins-base-libs-sections.txt:
* gst-libs/gst/audio/gstbaseaudiosink.c: (slave_method_get_type),
(gst_base_audio_sink_set_provide_clock),
(gst_base_audio_sink_get_provide_clock),
(gst_base_audio_sink_set_slave_method),
(gst_base_audio_sink_get_slave_method),
(gst_base_audio_sink_set_property),
(gst_base_audio_sink_get_property), (gst_base_audio_sink_drain),
(gst_base_audio_sink_none_slaving),
(gst_base_audio_sink_handle_slaving):
* gst-libs/gst/audio/gstbaseaudiosink.h:
Expose methods for some object properties so that subclasses can more
easily configure them.
Added slave method none, that completely disables slaving to the
internal clock.
API: gst_base_audio_sink_set_provide_clock()
API: gst_base_audio_sink_get_provide_clock()
API: gst_base_audio_sink_set_slave_method()
API: gst_base_audio_sink_get_slave_method()
* gst-libs/gst/audio/gstbaseaudiosrc.c:
(gst_base_audio_src_set_provide_clock),
(gst_base_audio_src_get_provide_clock),
(gst_base_audio_src_set_property),
(gst_base_audio_src_get_property), (gst_base_audio_src_create):
* gst-libs/gst/audio/gstbaseaudiosrc.h:
Expose methods for some object properties so that subclasses can more
easily configure them.
API: gst_base_audio_src_set_provide_clock()
API: gst_base_audio_src_get_provide_clock()
Original commit message from CVS:
Patch by: Joe Peterson <lavajoe at gentoo dot org>
* gst-libs/gst/sdp/gstsdpmessage.c:
Fix compilation on FreeBSD (Gentoo). Fixes#498228.
Original commit message from CVS:
Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
* gst-libs/gst/rtsp/gstrtspmessage.c: (gst_rtsp_message_unset):
Fix leaking headers. Fixes#496761.
Original commit message from CVS:
* gst-libs/gst/tag/gstid3tag.c: (user_tag_matches),
(gst_tag_from_id3_user_tag):
Add mapping for audio cd discid tags, so we can extract
them from tags as well (see #347848). Also compare identifiers
in ID3v2 TXXX frames in a case-insensitive way to increase
compatibility when reading tags (discid vs. DiscID vs. DiscId).
Original commit message from CVS:
* gst-libs/gst/fft/kiss_fft_f32.h:
* gst-libs/gst/fft/kiss_fft_f64.h:
* gst-libs/gst/fft/kiss_fft_s16.h:
* gst-libs/gst/fft/kiss_fft_s32.h:
Don't include malloc.h which doesn't exist on Mac OSX.
Instead, pull in glib.h and use g_malloc/g_free for
consistency. Fixes: #496548
Original commit message from CVS:
Patch by: Sebastien Moutte <sebastien moutte net>
* gst-libs/gst/rtp/gstrtcpbuffer.c: (gst_rtcp_ntp_to_unix),
(gst_rtcp_unix_to_ntp):
* gst-libs/gst/rtp/gstrtppayloads.c: (gst_rtp_payload_info_for_name):
Fix some C99-isms and and a missing function that some versions of
MSVC don't like too much (#494346).
* win32/vs6/gst_plugins_base.dsw:
* win32/vs6/libgstaudio.dsp:
* win32/vs6/libgstrtp.dsp:
* win32/vs6/libgsttag.dsp:
Update vs6 projects files (#494346).
Original commit message from CVS:
* docs/libs/gst-plugins-base-libs-sections.txt:
* gst-libs/gst/fft/gstfftf32.c:
* gst-libs/gst/fft/gstfftf32.h:
* gst-libs/gst/fft/gstfftf64.c:
* gst-libs/gst/fft/gstfftf64.h:
* gst-libs/gst/fft/gstffts16.c:
* gst-libs/gst/fft/gstffts16.h:
* gst-libs/gst/fft/gstffts32.c:
* gst-libs/gst/fft/gstffts32.h:
* tests/check/libs/fft.c: (GST_START_TEST):
Remove the magnitude and phase calculation functions as these have
very special use cases and can't even be used for the spectrum
element. Also adjust the docs to mention some properties of the used
FFT implemention, i.e. how the values are scaled. Fixes#492098.
Original commit message from CVS:
Patch by: Vincent Torri <vtorri at univ-evry dot fr>
* gst-libs/gst/fft/kiss_fft_s16.h: (KISS_FFT_S16_MALLOC):
* gst-libs/gst/fft/kiss_fft_s32.h: (KISS_FFT_S32_MALLOC):
Include our own _stdint.h instead of sys/types.h, makes MingW happy
(#492306).
* gst-libs/gst/rtsp/gstrtspconnection.c: (gst_rtsp_connection_create):
Use _pipe directly, GLib doesn't have a pipe() macro any longer
(it disappeared in GLib 2.14.0) (#492306).
* gst-libs/gst/sdp/Makefile.am:
* gst-libs/gst/sdp/gstsdpmessage.c:
Fix includes and LIBS for win32/Mingw (#492306).
* tests/examples/dynamic/addstream.c (pause_play_stream):
Use more portable g_usleep() instead of sleep() (#492306).
Original commit message from CVS:
Patch by: Ole André Vadla Ravnås <ole.andre.ravnas@tandberg.com>
* gst-libs/gst/audio/gstringbuffer.c: (build_linear_format),
(gst_ring_buffer_parse_caps):
Return NULL instead of an enum that happens to be 0, fixes warning
on MSVC (#492114).
* gst-libs/gst/audio/gstringbuffer.h:
No trailing commas in enum list (for gcc-2.9x).
* gst/videotestsrc/videotestsrc.c: (random_char):
Make information loss explicit instead of implicitly truncating to
eight bits via the return value. Fixes runtime error on MSVC when
using the debug CRT (#492114).
* win32/common/config.h.in:
Fix a bunch of '#undef FOO bar', which MSVC doesn't like (#492114).
* win32/common/libgstinterfaces.def:
* win32/common/libgstrtp.def:
Export a few more symbols (#492114).
Original commit message from CVS:
* gst-libs/gst/audio/audio.c:
* gst-libs/gst/audio/audio.h:
Readd the deprecation guards, but preserve compilability.
Original commit message from CVS:
* gst-libs/gst/audio/audio.h:
Don't guard deprecated enum with #ifndef DISABLE_DEPRECATED, or
compilation with DISABLE_DEPRECATED and without REMOVE_DEPRECATED
(ie. normal cvs builds) will fail.
Original commit message from CVS:
* docs/libs/Makefile.am:
* gst-libs/gst/audio/audio.c:
* gst-libs/gst/audio/audio.h:
* gst-libs/gst/interfaces/mixer.c:
tell gtk-doc about the deprecation guard. Apply more doc fixes.
Original commit message from CVS:
* docs/libs/gst-plugins-base-libs-sections.txt:
* gst-libs/gst/audio/gstaudiofilter.h:
* gst-libs/gst/interfaces/mixer.h:
* gst-libs/gst/rtp/gstbasertpdepayload.c:
* gst-libs/gst/rtp/gstbasertpdepayload.h:
* gst-libs/gst/sdp/gstsdpmessage.c:
Fix the docs according to what gtk-doc complained about.
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c:
(gst_riff_wavext_add_channel_layout),
(gst_riff_wave_add_default_channel_layout),
(gst_riff_wavext_get_default_channel_mask),
(gst_riff_create_audio_caps):
Use the ALSA channel layout as default for wav files without channel
layout information. This fixes playback of chan-id.wav on 5.1 systems
for example. Also refactor the channel layout setting a bit and add
more default channel orders. Fixes#489010.
Original commit message from CVS:
* gst-libs/gst/tag/tag.h: (GST_TAG_MUSICBRAINZ_SORTNAME):
* gst-libs/gst/tag/tags.c:
Deprecate GST_TAG_MUSICBRAINZ_SORTNAME, replaced by the newly-added
GST_TAG_ARTIST_SORTNAME (in an API and ABI compatible way).
* gst-libs/gst/tag/gstid3tag.c: (tag_matches):
Map ID3v2 TSOP, TSOA and TSOT frames to new SORTNAME tags (#414539).
* gst-libs/gst/tag/gstvorbistag.c: (tag_matches),
(gst_tag_to_vorbis_comments):
Map new SORTNAME tags (these tags aren't even semi-official, so I'm
just mapping everything I found in the wild) (#414539).
Original commit message from CVS:
* gst-libs/gst/tag/gsttagdemux.c:
Don't abort with an assertion if we receive a seek event with
a start type of NONE (see launchpad bug #155878).
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_drain), (gst_base_audio_sink_change_state):
Also explicitly release the ringbuffer when going to NULL because it
is required in the setcaps function, before the state change to PAUSED
completes.
Original commit message from CVS:
* gst-libs/gst/tag/gsttagdemux.c:
Don't error out when a buggy downstream element doesn't
handle the newsegment event we send properly (especially
not without posting a meaningful error message on the
bus). See bug #471370 and launchpad bug #136264.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_drain):
Use new basesink method to make our EOS drain interruptable.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosrc.c:
(gst_base_audio_src_create):
Also handle the case where there is no clock set on the audio source,
like in the unit tests.
Original commit message from CVS:
* gst-libs/gst/rtp/gstrtppayloads.c:
Use unsigned G_MAXUINT8 instead of -1 to initialise a guint8
to avoid compiler warnings
Original commit message from CVS:
* gst-libs/gst/tag/Makefile.am:
* gst-libs/gst/tag/gsttagdemux.c:
* gst-libs/gst/tag/gsttagdemux.h:
API: add GstTagDemux base class for simple tag demuxers.
* docs/libs/gst-plugins-base-libs-docs.sgml:
* docs/libs/gst-plugins-base-libs-sections.txt:
Add GstTagDemux to docs.
Original commit message from CVS:
* gst-libs/gst/rtp/gstrtpbuffer.c:
(gst_rtp_buffer_get_payload_subbuffer):
Fix bug introduced with last commit which inverted the logic and
caused all buffers to be dropped. Fixes#483620.
Thanks to Laurent Glayal <spglegle at yahoo dot fr> for noticing.
Original commit message from CVS:
* gst-libs/gst/rtp/gstrtpbuffer.c:
Replace g_return_if_val (as it could be disabled), with regular return
and warning.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_async_play):
When slaved to the clock, don't try to align a sample with the previous
one when going to PLAYING again.
Original commit message from CVS:
* gst-libs/gst/rtp/Makefile.am:
* gst-libs/gst/rtp/gstrtppayloads.c: (gst_rtp_payload_info_for_pt),
(gst_rtp_payload_info_for_name):
* gst-libs/gst/rtp/gstrtppayloads.h:
Added new file and header to deal with payload info.
* gst-libs/gst/rtp/gstrtpbuffer.c: (gst_rtp_buffer_validate_data),
(gst_rtp_buffer_default_clock_rate):
* gst-libs/gst/rtp/gstrtpbuffer.h:
Payload specific stuff is move to new headers.
Implement _default_clock rate using the new payload function.
* gst-libs/gst/sdp/gstsdpmessage.c: (is_multicast_address),
(gst_sdp_parse_line):
* gst-libs/gst/sdp/gstsdpmessage.h:
Add some more comments.
Original commit message from CVS:
* configure.ac:
* gst-libs/gst/tag/gstid3tag.c:
* gst-libs/gst/tag/gstvorbistag.c:
Add mappings for the new GST_TAG_COMPOSER for vorbis comments
and ID3v2 tags.
Original commit message from CVS:
* gst-libs/gst/floatcast/floatcast.h:
Don't include config.h in an installed public header, this
might break compilation of applications that don't have such
a header and doesn't necessarily do what it's supposed to do
anyway (ie. check for the lrint/lrintf defines) (#442065).
Add docs for the various macros and document how this header
has to be used (link against libm, etc.); add a few FIXMEs;
include math.h for non-c99 code path. Based on patch by
Jan Schmidt.
Original commit message from CVS:
* gst-libs/gst/app/gstappsink.c: (gst_app_marshal_OBJECT__VOID),
(gst_app_sink_class_init), (gst_app_sink_init),
(gst_app_sink_dispose), (gst_app_sink_finalize),
(gst_app_sink_set_property), (gst_app_sink_get_property),
(gst_app_sink_flush_unlocked), (gst_app_sink_start),
(gst_app_sink_event), (gst_app_sink_getcaps),
(gst_app_sink_set_caps), (gst_app_sink_get_caps),
(gst_app_sink_is_eos), (gst_app_sink_pull_preroll),
(gst_app_sink_pull_buffer):
* gst-libs/gst/app/gstappsink.h:
Add properties, signals and actions to access the element even without
linking to the library.
Fix some method names and signatures.
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertpdepayload.c:
(gst_base_rtp_depayload_chain),
(gst_base_rtp_depayload_set_gst_timestamp):
Only copy timestamp on outgoing packets if the depayloader did not set
one.
Also copy duration on outgoing packets.
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertppayload.c: (copy_fixed),
(gst_basertppayload_set_outcaps):
Fix compilation because of missing %d in printf.
When fixating caps, fixate what we can and throw away all remaining
unfixed caps, subclasses should do something smart if they need to.
Original commit message from CVS:
* ext/pango/gsttextoverlay.c: (gst_text_overlay_init),
(gst_text_overlay_set_property):
* ext/vorbis/vorbisdec.c: (vorbis_handle_data_packet):
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_render):
* gst-libs/gst/rtp/gstrtcpbuffer.c: (gst_rtcp_ntp_to_unix),
(gst_rtcp_unix_to_ntp):
* gst-libs/gst/rtsp/gstrtspmessage.c: (gst_rtsp_message_get_type):
* gst/playback/gstqueue2.c:
* tests/examples/seek/seek.c: (set_scale):
Fix a bunch of compile warnings shown with Forte.
* gst/audiorate/gstaudiorate.c:
Always pull in config.h before including any system headers.
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertpdepayload.c:
(gst_base_rtp_depayload_init), (gst_base_rtp_depayload_setcaps),
(gst_base_rtp_depayload_chain),
(gst_base_rtp_depayload_handle_sink_event),
(gst_base_rtp_depayload_push_full),
(gst_base_rtp_depayload_set_gst_timestamp),
(gst_base_rtp_depayload_change_state):
Remove code to deal with RTP to GST time conversion, we now just copy
the GST timestamp we receive to the outgoing buffers.
Handle segment and flushes correctly.
* gst-libs/gst/rtp/gstbasertppayload.c: (gst_basertppayload_push):
When we have no valid input timestamp, use the previous rtp timestamp on
the outgoing RTP packet instead of the RTP base time.
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertppayload.c:
(gst_basertppayload_set_outcaps), (gst_basertppayload_push):
Add some debug info when negotiating caps.
Original commit message from CVS:
* gst-libs/gst/rtp/gstrtpbuffer.c: (gst_rtp_buffer_validate_data):
A buffer with an empty payload is also a valid buffer.
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertppayload.c: (gst_basertppayload_event),
(gst_basertppayload_set_outcaps), (gst_basertppayload_push),
(gst_basertppayload_change_state):
Make sure we start our RTP timestamp from the random base RTP
timestamp even if the buffer timestamp starts from some random value.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_init):
Disable pull mode scheduling, we're not ready for it yet and it subtly
breaks a lot of things.
Original commit message from CVS:
Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
* gst-libs/gst/rtsp/gstrtspconnection.c:
(gst_rtsp_connection_read_internal), (gst_rtsp_connection_read),
(read_body), (gst_rtsp_connection_receive):
Make sure we can not cancel in the middle of receiving a message.
Fixes#475731.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosrc.c:
(gst_base_audio_src_class_init), (gst_base_audio_src_init),
(gst_base_audio_src_provide_clock),
(gst_base_audio_src_set_property),
(gst_base_audio_src_get_property), (gst_base_audio_src_create):
* gst-libs/gst/audio/gstbaseaudiosrc.h:
Allow othe clocks than the internal clock to be used for the pipeline.
Add property to disable clock provide.
API: GstBaseAudioSrc::provide-clock
Original commit message from CVS:
* gst-libs/gst/rtp/gstrtpbuffer.c:
* tests/check/libs/rtp.c:
Fix gst_rtp_buffer_set_csrc() and enable csrc-related unit test checks.
Original commit message from CVS:
Based on patch by: Haakon Sporsheim <haakon.sporsheim at tandberg com>
* gst-libs/gst/rtp/gstrtpbuffer.c:
Fix up GstRTPHeader helper struct so that compilers will not under
any circumstances add padding in between our fields, as currently
happens with MSVC on win32, because that would lead to us sending
out RTP payloads with broken RTP headers (#471194).
Fix assertion guards for gst_rtp_buffer_get_csrc() and _set_csrc().
* tests/check/Makefile.am:
* tests/check/libs/.cvsignore:
* tests/check/libs/rtp.c:
Add some simple unit tests for GstRTPBuffer. Some are disabled
because the code tested still needs fixing (set_csrc() does not work).
Original commit message from CVS:
Patch by: Peter Kjellerstedt <pkj at axis com>
* gst-libs/gst/sdp/gstsdpmessage.c: (gst_sdp_time_init),
(gst_sdp_message_init), (gst_sdp_message_uninit),
(is_multicast_address), (gst_sdp_message_as_text),
(gst_sdp_message_get_origin), (gst_sdp_message_set_connection),
(gst_sdp_message_get_connection), (gst_sdp_message_add_bandwidth),
(gst_sdp_message_add_time), (gst_sdp_message_add_zone),
(gst_sdp_message_get_key), (gst_sdp_message_get_attribute_val_n),
(gst_sdp_message_get_attribute_val), (gst_sdp_message_add_media),
(gst_sdp_media_init), (gst_sdp_media_uninit),
(gst_sdp_media_as_text), (gst_sdp_media_set_port_info),
(gst_sdp_media_connections_len), (gst_sdp_media_add_connection),
(gst_sdp_media_bandwidths_len), (gst_sdp_media_get_bandwidth),
(gst_sdp_media_add_bandwidth), (gst_sdp_media_attributes_len),
(gst_sdp_parse_line), (print_media), (gst_sdp_message_dump):
* gst-libs/gst/sdp/gstsdpmessage.h:
Separate INIT_ARRAY() and related macros into two versions, one for
structures and one for pointers (e.g., INIT_ARRAY() and
INIT_PTR_ARRAY()). This fixes a segmentation error on freeing the
lists of emails and phone numbers.
Add missing const as appropriate.
Change all gint to guint since they all actually represent unsigned
values.
Do not use time as a variable name as it shadows the global time().
Add gst_sdp_message_as_text() and gst_sdp_media_as_text().
Actually implement gst_sdp_message_add_time().
Make gst_sdp_message_add_time() take repeat times as an argument.
Store repeat times in GstSDPTime as a GArray rather than as gchar**.
Corrected the definition of gst_sdp_media_get_bandwidth() (was
misspelled as badwidth).
gst-indented and a little clean up. Fixes#471067.
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertpaudiopayload.c:
(gst_base_rtp_payload_audio_handle_event):
Return FALSE from the event handler to let the parent class handle the
event.
* gst-libs/gst/rtp/gstbasertpdepayload.c:
(gst_base_rtp_depayload_chain), (gst_base_rtp_depayload_push_full):
Mark outgoing buffers as DISCONT if the incomming buffer was DISCONT.
* gst-libs/gst/rtp/gstbasertppayload.c:
Bump the MTU to 1400.
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertpdepayload.c:
(gst_base_rtp_depayload_class_init),
(gst_base_rtp_depayload_set_gst_timestamp):
Add some more docs for the queue-delay property and fix a typo in a
comment.
* gst-libs/gst/rtp/gstbasertppayload.c: (gst_basertppayload_push):
Fix typo.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_skew_slaving), (gst_base_audio_sink_render),
(gst_base_audio_sink_change_state):
When skew slaving, try to hover around the middle of a segment so that
we at most drift by half a segment.
If we are aligning in the oposite direction of the clock skew, we don't
have to resync.
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertpdepayload.c:
(gst_base_rtp_depayload_setcaps),
(gst_base_rtp_depayload_set_gst_timestamp):
Be less silly with the segment start, just apply the clock-base to the
timestamp.
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertpdepayload.c:
(gst_base_rtp_depayload_class_init),
(gst_base_rtp_depayload_finalize),
(gst_base_rtp_depayload_setcaps), (gst_base_rtp_depayload_chain),
(gst_base_rtp_depayload_handle_sink_event),
(gst_base_rtp_depayload_set_gst_timestamp),
(gst_base_rtp_depayload_change_state):
* gst-libs/gst/rtp/gstbasertpdepayload.h:
Deprecate the queue handling thread thing and remove the code.
Use new method to calculate the extended timestamp.
Original commit message from CVS:
* gst-libs/gst/rtp/gstrtcpbuffer.c:
(gst_rtcp_packet_sdes_copy_entry):
Use g_strndup which does exactly what we want.
* gst-libs/gst/rtp/gstrtpbuffer.c: (gst_rtp_buffer_compare_seqnum),
(gst_rtp_buffer_ext_timestamp):
* gst-libs/gst/rtp/gstrtpbuffer.h:
Add helper function to compare seqnums.
Add helper function to calculate extended timestamps.
API: gst_rtp_buffer_compare_seqnum()
API: gst_rtp_buffer_ext_timestamp()
Original commit message from CVS:
* gst-libs/gst/rtp/gstrtcpbuffer.c:
(gst_rtcp_packet_sdes_get_entry),
(gst_rtcp_packet_sdes_copy_entry):
* gst-libs/gst/rtp/gstrtcpbuffer.h:
Fix and document SDES item data function.
Add new function that makes a proper copy of SDES item data.
API: gst_rtcp_packet_sdes_copy_entry()
Original commit message from CVS:
* docs/libs/gst-plugins-base-libs-sections.txt:
* gst-libs/gst/pbutils/install-plugins.c:
* gst-libs/gst/pbutils/install-plugins.h:
* tests/check/libs/pbutils.c:
API: also add gst_install_plugins_supported() while we're at it
(see #470456).
Original commit message from CVS:
* docs/libs/gst-plugins-base-libs-sections.txt:
* gst-libs/gst/pbutils/missing-plugins.c:
* gst-libs/gst/pbutils/missing-plugins.h:
* tests/check/libs/pbutils.c:
API: add gst_missing_*_installer_detail_new() convenience API so
that applications that know exactly what they're missing can request
installer detail strings for those items directly instead of having
to first create a dummy missing-plugin message and then get the
installer detail string from that. Fixes#470456.
Original commit message from CVS:
* gst-libs/gst/pbutils/missing-plugins.c:
(gst_missing_plugin_message_get_installer_detail):
Add missing separator in PID fallback case.
Original commit message from CVS:
* gst-libs/gst/audio/audio.h:
Use gst_util_uint64_scale() instead of doing the math
with double for GST_FRAMES_TO_CLOCK_TIME() and
GST_CLOCK_TIME_TO_FRAMES(). For large timestamps this
prevents rounding errors. Fixes#467667.
Original commit message from CVS:
* gst-libs/gst/rtsp/gstrtspconnection.c:
(gst_rtsp_connection_connect), (gst_rtsp_connection_write),
(gst_rtsp_connection_read), (gst_rtsp_connection_poll):
* gst-libs/gst/rtsp/gstrtspconnection.h:
Small cleanups.
On shutdown, don't read the control socket yet.
Set timeout value correctly in all cases.
Add function to check if the server accepts reads or writes.
API: gst_rtsp_connection_poll()
* gst-libs/gst/rtsp/gstrtspdefs.h:
Fix compilation with -pedantic.
Add enum for _poll.
Original commit message from CVS:
* gst-libs/gst/app/gstappsink.c: (gst_app_sink_class_init):
Override the preroll vmethod instead of overriding the render method
twice.
Original commit message from CVS:
* gst-libs/gst/app/gstappsink.c: (gst_app_sink_base_init),
(gst_app_sink_class_init), (gst_app_sink_dispose),
(gst_app_sink_flush_unlocked), (gst_app_sink_start),
(gst_app_sink_stop), (gst_app_sink_event), (gst_app_sink_preroll),
(gst_app_sink_render), (gst_app_sink_get_caps),
(gst_app_sink_set_caps), (gst_app_sink_end_of_stream),
(gst_app_sink_pull_preroll), (gst_app_sink_pull_buffer):
* gst-libs/gst/app/gstappsink.h:
Make love to appsink.
Make it support pulling of the preroll buffer.
Add docs and debug statements.
Fix some races wrt to EOS handling and stopping.
Implement getcaps.
Implement FLUSHING.
API: gst_app_sink_pull_preroll()
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertppayload.c:
(gst_basertppayload_set_outcaps):
* gst-libs/gst/rtp/gstbasertppayload.h:
Improve caps negotiation so that downstream elements can confiure
certain RTP properties by fixing them on the caps. See #465146.
Add docs.
Original commit message from CVS:
* docs/libs/gst-plugins-base-libs-sections.txt:
* gst-libs/gst/rtp/gstbasertpdepayload.c:
* gst-libs/gst/rtp/gstbasertpdepayload.h:
Mark as deprecated some macros which were presumably meant to be
private API and accidentally exposed in the public header file.
Also actually _init() lock (only works at the moment because the
struct is zeroed out when created and the initial values in the
mutex struct are zeroes too). (#459585)
Original commit message from CVS:
* gst-libs/gst/rtsp/gstrtsptransport.c: (gst_rtsp_transport_parse):
Add rdt manager for rdt transport.
Fix parsing of RDT transport.
Original commit message from CVS:
* gst-libs/gst/audio/audio.c:
When clipping a buffer with no timestamp, assume it is
within the segment without warnings.
Fixes: #460978
Original commit message from CVS:
* gst-libs/gst/interfaces/Makefile.am:
* gst-libs/gst/interfaces/interfaces-marshal.list:
* gst-libs/gst/interfaces/rtspextension.c:
* gst-libs/gst/interfaces/rtspextension.h:
* gst-libs/gst/rtsp/Makefile.am:
* gst-libs/gst/rtsp/gstrtsp.h:
* gst-libs/gst/rtsp/gstrtspextension.c:
(gst_rtsp_extension_get_type), (gst_rtsp_extension_iface_init),
(gst_rtsp_extension_detect_server),
(gst_rtsp_extension_before_send), (gst_rtsp_extension_after_send),
(gst_rtsp_extension_parse_sdp), (gst_rtsp_extension_setup_media),
(gst_rtsp_extension_configure_stream),
(gst_rtsp_extension_get_transports),
(gst_rtsp_extension_stream_select), (gst_rtsp_extension_send):
* gst-libs/gst/rtsp/gstrtspextension.h:
* gst-libs/gst/rtsp/rtsp-marshal.list:
Move the rtspextension.h interface into gstrtspextension.h
as part of libgstrtsp instead of libgstinterfaces, because it's
only for use within plugins, not applications.
Add stuff to do the enum & marshal generation needed in libgstrtsp now.
Use the GST_TYPE_RTSP_RESULT enum type for the return value of the
signal that the GstRTSPExtension interface emits, since G_TYPE_ENUM
is abstract.
Original commit message from CVS:
* docs/libs/gst-plugins-base-libs-sections.txt:
* gst-libs/gst/rtsp/gstrtspbase64.c: (gst_rtsp_base64_decode_ip):
* gst-libs/gst/rtsp/gstrtspbase64.h:
API: gst_rtsp_base64_decode_ip()
Added function to decode Base64 in-place.
Original commit message from CVS:
* docs/libs/gst-plugins-base-libs-sections.txt:
* gst-libs/gst/audio/audio.c: (gst_audio_buffer_clip):
* gst-libs/gst/audio/audio.h:
* tests/check/libs/audio.c: (GST_START_TEST), (audio_suite):
API: Add buffer clipping function for raw audio buffers. Fixes#456656.
Also add deprecation guards for gst_audio_structure_set_int() to the
header.
Original commit message from CVS:
* gst-libs/gst/interfaces/mixer.h:
Add padding vars in place of the signal pointers
when building with DISABLE_DEPRECATED so that the
interface structure doesn't change size.
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertppayload.c:
(gst_basertppayload_class_init), (gst_basertppayload_init),
(gst_basertppayload_set_property),
(gst_basertppayload_get_property):
Don't break ABI, restore previous ranges. Keep the default random
selection of timestamp and seqnum offset but as soon as the app sets a
specific value, use that one.
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertppayload.c:
(gst_basertppayload_class_init), (gst_basertppayload_init),
(gst_basertppayload_event), (gst_basertppayload_push),
(gst_basertppayload_set_property),
(gst_basertppayload_get_property),
(gst_basertppayload_change_state):
* gst-libs/gst/rtp/gstbasertppayload.h:
Fix ranges of rtp payloader properties so that the full range can be
used in addition to -1 (random).
Fix wrong seqnum reporting in caps.
Fixes#420326.
Original commit message from CVS:
* gst-libs/gst/interfaces/propertyprobe.c:
* gst-libs/gst/rtp/gstbasertpaudiopayload.c:
* gst-libs/gst/tag/gstvorbistag.c:
Make gtk-doc happy.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_callback):
Quick hack to make audiosinks stop at EOS when operating in
pull-mode; needs to be fixed properly some day.
Original commit message from CVS:
* gst-libs/gst/tag/tags.c: (gst_tag_freeform_string_to_utf8):
Don't pass trailing zeroes in fixed-size string arrays in ID3v1 tags
to utf8-validate; fixes recognition of ID3v1 tags in UTF-8 encoding
(#451707); also, output some debugging info when dealing with
freeform strings.
* tests/check/libs/tag.c: (GST_START_TEST), (tag_suite):
Add unit test for the above.
Original commit message from CVS:
* gst-libs/gst/pbutils/descriptions.c: (caps_are_rtp_caps):
Add description for Windows Media RTP caps.
* gst-libs/gst/pbutils/missing-plugins.c: (copy_and_clean_caps):
Remove RTP fields that don't define the format from caps.
Original commit message from CVS:
2007-06-19 Andy Wingo <wingo@pobox.com>
* gst-libs/gst/audio/gstbaseaudiosink.c
(gst_base_audio_sink_init): Enable pull-mode operation.
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps):
Change minimum rate back to 1000 to allow low-sample-rate wav files
to play back.
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertpdepayload.c:
(gst_base_rtp_depayload_set_gst_timestamp):
Use G_GINT64_CONSTANT macro for int64 constant.
* win32/common/libgstinterfaces.def:
* win32/common/libgsttag.def:
Add new exported functions.
Original commit message from CVS:
* gst-libs/gst/riff/Makefile.am:
* gst-libs/gst/riff/riff-read.c: (gst_riff_parse_info):
Use gst_tag_utf8_from_freeform_string() from libgsttag instead of
our own implementation.
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps):
In riff, the depth is stored in the size field but it just means that
the least significant bits are cleared. We can therefore just play
the sample as if it had a depth == width. Fixes: #440997
Patch by: Wim Taymans <wim@fluendo.com>
Patch by: Sebastian Dröge <slomo@circular-chaos.org>
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_render):
After an interrupt (PAUSED/flush) assume that the next sample should not
be aligned to the previous sample. Fixes#417992.
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps):
Don't add channels and rate fields to the template caps for
audio/x-dts, as wavparse might not always be able to set them,
which would then lead to 'caps are not a real subset of the
template caps' warnings.
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps):
Specify the full valid range for MP3 samplerates. Fixes a regression
caused by extra header checks since the last release.
Original commit message from CVS:
* ext/cdparanoia/gstcdparanoiasrc.c:
(gst_cd_paranoia_src_read_sector):
* gst-libs/gst/audio/gstbaseaudiosrc.c:
(gst_base_audio_src_create):
Small cleanups.
* ext/theora/theoradec.c: (theora_dec_sink_event):
Fix typo.
* gst-libs/gst/rtp/gstbasertpdepayload.c:
(gst_base_rtp_depayload_set_gst_timestamp):
Add some FIXME
* gst/playback/gstdecodebin.c: (queue_underrun_cb):
And some debug info when a FIXME path is hit.
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertpaudiopayload.c:
(gst_base_rtp_audio_payload_class_init),
(gst_base_rtp_audio_payload_init),
(gst_base_rtp_audio_payload_finalize),
(gst_base_rtp_audio_payload_handle_frame_based_buffer),
(gst_base_rtp_audio_payload_handle_sample_based_buffer),
(gst_base_rtp_payload_audio_handle_event):
Some cleanups, remove minptime property as it is now in the parent
class.
Override parent class event function.
* gst-libs/gst/rtp/gstbasertppayload.c:
(gst_basertppayload_class_init), (gst_basertppayload_init),
(gst_basertppayload_event), (gst_basertppayload_set_property),
(gst_basertppayload_get_property):
* gst-libs/gst/rtp/gstbasertppayload.h:
Add min-ptime property.
Add handle-event vmethod. Fixes#415001.
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertpdepayload.c:
(gst_base_rtp_depayload_setcaps),
(gst_base_rtp_depayload_set_gst_timestamp):
Parse and use additional caps fields as described in updated
application/x-rtp caps spec.