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.