Original commit message from CVS:
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_handle_src_event):
Return TRUE instead of FALSE from the event handler when we swallowed the
event.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_parse_subindex),
(gst_avi_demux_parse_stream), (gst_avi_demux_parse_index):
* gst/avi/gstavidemux.h:
For timestamping audio packets we need to take into account the
amount of blocks in one entry using the blockalign. Fixes some sync
issues with zero-padded audio blocks in the beginning of avi files.
Original commit message from CVS:
* gst/multifile/gstmultifilesrc.c: (gst_multi_file_src_class_init),
(gst_multi_file_src_query):
Implement DEFAULT and BUFFER position queries. See #555260.
Original commit message from CVS:
* gst/rtp/gstrtpamrdepay.c: (gst_rtp_amr_depay_class_init),
(gst_rtp_amr_depay_process):
Mark DISCONT on output buffers when the marker bit signals a new talk
spurt.
* gst/rtp/gstrtpamrpay.c: (gst_rtp_amr_pay_handle_buffer):
Set the marker bit for buffers with a DISCONT flag to signal a talk
spurt.
Original commit message from CVS:
* gst/videomixer/videomixer.c: (gst_videomixer_fill_queues),
(gst_videomixer_sink_event):
Handle segments a little better. Fixes#537361.
Original commit message from CVS:
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_parse_methods):
Don't assume the server supports PAUSE by default. Fixes#551048.
Original commit message from CVS:
* gst/udp/gstudpsrc.c: (gst_udpsrc_class_init),
(gst_udpsrc_set_uri), (gst_udpsrc_start):
Switch on the socket family to get the addrlen size right.
Original commit message from CVS:
Patch by: Daniel Franke <df at dfranke dot us>
* gst/udp/gstudpsrc.c: (gst_udpsrc_create), (gst_udpsrc_start):
OS X's bind() implementation is picky about its addrlen parameter and
fails with EINVAL if it is larger than expected for the socket's address
family. Set the length to the expected length instead. Fixes#553191.
Original commit message from CVS:
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_open):
Handle the case where we cannot do desribe or when the describe result
does not contain a valid SDP message.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_state_header),
(gst_qtdemux_chain):
Some 'broken' files out there have atom lengths of zero...
which basically results in qtdemux consuming that atom again and again
until the *end of night* !
Detect that and emits an adequate element error message.
Original commit message from CVS:
* gst/rtp/gstrtpmp4gdepay.c: (gst_rtp_mp4g_depay_init),
(gst_rtp_mp4g_depay_finalize), (gst_rtp_mp4g_depay_setcaps),
(gst_rtp_mp4g_depay_clear_queue), (gst_rtp_mp4g_depay_flush_queue),
(gst_rtp_mp4g_depay_queue), (gst_rtp_mp4g_depay_process),
(gst_rtp_mp4g_depay_change_state):
* gst/rtp/gstrtpmp4gdepay.h:
Handle interleaved streams by reordering AU in a queue.
Original commit message from CVS:
* gst/rtp/gstrtpmp4gdepay.c: (gst_bs_parse_init),
(gst_bs_parse_read), (gst_rtp_mp4g_depay_process):
Change some of the ranges in the caps, mostly for the amount of bits we
can use.
Added a little bitstream parse and use it to parse the AU header fields.
Check for malformed and wrongly sized packets better.
Implement more header field parsing.
Handle the size of fragmented packets correctly.
Original commit message from CVS:
Patch by: Jonathan Matthew <notverysmart@gmail.com>
* gst/qtdemux/qtdemux.c: (qtdemux_video_caps):
Add mapping for 'tiff' => image/tiff
Fixes#552213
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_change_state),
(gst_qtdemux_loop_state_header), (qtdemux_parse_node),
(qtdemux_parse_trak), (qtdemux_video_caps):
* gst/qtdemux/qtdemux.h:
* gst/qtdemux/qtdemux_fourcc.h:
* gst/qtdemux/qtdemux_types.c:
Add support for video/mj2 mime-type and its additional atoms/boxes.
Fixes#550646.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (qtdemux_audio_caps):
Add mapping for IMA Loki SDL MJPEG ADPCM codec.
Add some alternative byteswapped mappings that seem to pop up sometimes.
Fixes#550288.
Original commit message from CVS:
Patch by: Mersad Jelacic <mersad at axis dot com>
* gst/multipart/multipartdemux.c:
* gst/multipart/multipartmux.c: (gst_multipart_mux_get_mime):
Convert audio/x-adpcm to and from the audio/G726-X in the muxer and
demuxer. Fixes#549551.
Original commit message from CVS:
* gst/icydemux/gsticydemux.c:
Small docs fix: in the example pipeline, we need to pass
iradio-mode=true to the source, so the server actually sends
an ICY stream.
Original commit message from CVS:
* gst/matroska/matroska-demux.c: (gst_matroska_demux_send_event),
(gst_matroska_demux_video_caps), (gst_matroska_demux_audio_caps):
* gst/matroska/matroska-mux.c:
(gst_matroska_mux_video_pad_setcaps),
(gst_matroska_mux_audio_pad_setcaps), (gst_matroska_mux_finish):
Add Real[Audio|Video] support to Matroska containers.
It works fine for:
* decoding real audio/video streams contained in mkv
* 'transmuxing' real (.rm) files into .mkv files
It will not work though for encoding real[audio/video] streams that
don't contain the 'mdpr_data' extra data on the caps.
The reason why this will not work is because I never intended to
duplicate virtually all the 'mdpr' block creation into mkvmux.
Fixes#536067
Original commit message from CVS:
* gst/law/alaw-encode.c: (gst_alaw_enc_init), (gst_alaw_enc_chain):
* gst/law/mulaw-conversion.c:
* gst/law/mulaw-encode.c: (gst_mulawenc_init),
(gst_mulawenc_chain):
The encoder can't really renegotiate at the time they perform a
pad-alloc so make the srcpads use fixed caps.
Check the buffer size after a pad-alloc because the returned size might
not be right when the downstream element does not know the size of the
new buffer (capsfilter). Fixes#549073.
Original commit message from CVS:
* gst/autodetect/Makefile.am:
Don't link the autodetect plugin with GConf as it doesn't
use GConf. Fixes bug #545463.
Original commit message from CVS:
* gst/matroska/ebml-read.c: (gst_ebml_read_element_id),
(gst_ebml_read_element_length), (gst_ebml_read_uint),
(gst_ebml_read_sint), (gst_ebml_read_float),
(gst_ebml_read_header):
Change some GST_ELEMENT_ERRORs to GST_ERROR_OBJECT to make it
possible to ignore errors and not post any ERROR messages on
the bus.
* gst/matroska/matroska-demux.c:
(gst_matroska_demux_parse_contents):
Ignore any errors and not just EOS when parsing the contents of
a SeekHead. Errors here are usually caused by truncated files
and playback of the file works fine. Fixes playback of the
audio_only_chapter_seekbroken.mka file from the MPlayer samples
archive.
Original commit message from CVS:
* gst/multipart/multipartdemux.c:
* gst/multipart/multipartmux.c:
Conform to RFC2046. audio/basic is mulaw 8000Hz mono.
Original commit message from CVS:
* gst/wavenc/gstwavenc.c: (gst_wavenc_chain):
Revert the last commit. wavenc still supports width!=depth for 32 bit
width. Thanks Tim.
Original commit message from CVS:
* gst/matroska/matroska-demux.c:
(gst_matroska_demux_parse_blockgroup_or_simpleblock):
If the duration of a block is unknown only use the timestamp for the
first lace and use GST_CLOCK_TIME_NONE as duration for the following
laces. Otherwise every lace has the same timestamp which leads to
various problems. Really fixes bug #548831.
Original commit message from CVS:
* gst/wavenc/gstwavenc.c: (gst_wavenc_chain):
If we're not allowing width!=depth in wavenc we should also disable
the code that was added to support width!=depth.
Original commit message from CVS:
* gst/matroska/matroska-demux.c: (gst_matroska_demux_add_stream):
Don't calculate the default duration of a frame from the audio sampling
rate. This only works for raw audio if every frame contains a single
sample and results in broken buffer durations for other formats
if no specified default duration is given or the blocks have no
duration. Fixes bug #548831.
Original commit message from CVS:
* gst/matroska/matroska-demux.c:
(gst_matroska_demux_parse_blockgroup_or_simpleblock):
Allow zero sized blocks instead of returning GST_FLOW_OK. Such blocks
are used for text/plain subtitles as a gap-filler in some files.
Original commit message from CVS:
* gst/rtsp/gstrtspgoogle.c:
Things that can happen when your brain is in google mode trying to
deal with their google rtsp server extensions and trying to type your
google mail account.
Original commit message from CVS:
* gst/rtsp/Makefile.am:
* gst/rtsp/gstrtsp.c: (plugin_init):
* gst/rtsp/gstrtspgoogle.c: (gst_rtsp_google_before_send),
(gst_rtsp_google_after_send), (gst_rtsp_google_get_transports),
(_do_init), (gst_rtsp_google_base_init),
(gst_rtsp_google_class_init), (gst_rtsp_google_init),
(gst_rtsp_google_finalize), (gst_rtsp_google_change_state),
(gst_rtsp_google_extension_init):
* gst/rtsp/gstrtspgoogle.h:
Add google RTSP extension, it can only handle udp and responds with
unsupported if we do anything else. Fixes#546465.
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_connection_send),
(gst_rtspsrc_connection_receive), (gst_rtspsrc_loop_send_cmd),
(gst_rtspsrc_create_transports_string),
(gst_rtspsrc_setup_streams), (gst_rtspsrc_open),
(gst_rtspsrc_close), (gst_rtspsrc_pause):
Make transport setup code a bit better using GString.
Add some more debug.
Check for closed connections before doing anything on them.
Original commit message from CVS:
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_stream_configure_udp_sink):
Don't try to configure RTCP back to the server when the server did not
give us a valid port number.
Original commit message from CVS:
* gst/videobox/gstvideobox.c: (gst_video_box_set_property):
Use new basetransform method to renegotiate. Fixes#544956.
* tests/icles/Makefile.am:
* tests/icles/videobox-test.c: (make_pipeline), (main):
Add videobox renegotiation example.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_read_subindexes_pull),
(gst_avi_demux_read_subindexes_push):
Some AVI 2.0 (ODML) files don't respect the 'specifications' completely
and instead of using the 'ix##' nomenclature, use '##ix'.
They're still valid though, this fixes the duration and indexes for
virtually all the ODML files I have.
Original commit message from CVS:
* gst/level/gstlevel.c: (gst_level_message_new):
Fix compilation (also known as the classic 'fix code that someone
committed without compiling it first').
Original commit message from CVS:
* gst/level/gstlevel.c:
Little renaming (l -> level).
* gst/spectrum/gstspectrum.c:
* gst/spectrum/gstspectrum.h:
Also send full timestamp/duration details here.
Original commit message from CVS:
* gst/level/gstlevel.c:
* gst/level/gstlevel.h:
Send same timestamp/duration details as videoanalysis. This gives
applications better chance to sync analysis results with playback.
Original commit message from CVS:
* gst/matroska/matroska-mux.c:
(gst_matroska_mux_handle_sink_event),
(flac_streamheader_to_codecdata):
We need to drop one additional buffer for FLAC as the fLaC
marker and STREAMINFO block are merged into one buffer in the caps.
Also don't pretend to support NEWSEGMENT events, otherwise we
will most probably write some invalid data.
Original commit message from CVS:
* gst/matroska/matroska-mux.c: (flac_streamheader_to_codecdata),
(gst_matroska_mux_audio_pad_setcaps):
Add support for muxing FLAC into Matroska containers.
Fixes bug #311586.