Original commit message from CVS:
Based on patch by: Eric Zhang <chao.zhang at access-company dot com>
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_perform_seek),
(gst_rtspsrc_stream_configure_udp_sink):
Pause the RTSP stream before doing a new play request.
Make sure that adding the udpsinks does not cause the rtspsrc to become
a sink. Fixes#559547.
Original commit message from CVS:
* gst/matroska/matroska-ids.h:
* gst/matroska/matroska-mux.c: (gst_matroska_pad_free),
(gst_matroska_mux_handle_dirac_packet),
(gst_matroska_mux_write_data):
Implement Dirac muxing into Matroska comforming to the spec, i.e.
put all Dirac packages up to a picture into a Matroska block.
TODO: Implement writing of the ReferenceBlock Matroska elements,
currently the Dirac muxing is only 100% correct if Matroska version 2
is selected for muxing.
Original commit message from CVS:
* ext/flac/Makefile.am:
Include $(FLAC_CFLAGS) in CFLAGS to make sure to find the FLAC headers.
This fixes compilation if FLAC is installed in an uncommon location
that is not already handled by other CFLAGS. Fixes bug #558711.
Original commit message from CVS:
* sys/v4l2/v4l2src_calls.c: (gst_v4l2src_format_get_rank):
Guard more uncommon formats with ifdefs so that we can compile on older
versions.
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:
Add support for float/double as input and remove the (nowadays)
useless parsing of the depth as we require width==depth.
Original commit message from CVS:
* gst/rtp/gstrtpmpadepay.c: (gst_rtp_mpa_depay_setcaps):
* gst/rtp/gstrtpmpapay.c:
Narrow down the caps of the mpeg audio pay/depayloaders to only accept
mpeg version 1. Fixes#558427.
Original commit message from CVS:
* gst/rtp/gstrtpL16pay.c: (gst_rtp_L16_pay_flush),
(gst_rtp_L16_pay_getcaps):
Only put an integral amount of samples in the RTP packet.
Fixes#556641.
Original commit message from CVS:
* gst/rtp/gstrtpchannels.c: (gst_rtp_channels_get_by_index):
* gst/rtp/gstrtpchannels.h:
Add method to get possible channel positions.
Original commit message from CVS:
* gst/wavenc/gstwavenc.c: (gst_wavenc_chain):
Don't allow width=32,depth=24 as input. WAV requires that the width
is the next integer multiply of 8 from the depth.
Original commit message from CVS:
* gst/rtp/gstrtpL16depay.c: (gst_rtp_L16_depay_setcaps):
* gst/rtp/gstrtpL16pay.c: (gst_rtp_L16_pay_setcaps),
(gst_rtp_L16_pay_getcaps):
* gst/rtp/gstrtpchannels.c: (check_channels),
(gst_rtp_channels_get_by_pos), (gst_rtp_channels_get_by_order),
(gst_rtp_channels_create_default):
* gst/rtp/gstrtpchannels.h:
Add mappings for multichannel support. Does not completely just work
because the getcaps function does not yet return the allowed channel
mappings. See #556641.
Original commit message from CVS:
* gst/rtp/gstrtpL16depay.c: (gst_rtp_L16_depay_setcaps),
(gst_rtp_L16_depay_process):
Check if clock-rate and channels are valid.
Don't ignore the return value of setcaps.
No need to validate the buffer, the base class does that for us.
Use the marker bit to set the DISCONT flag on outgoing buffers.
* gst/rtp/gstrtpL16pay.c: (gst_rtp_L16_pay_setcaps):
Don't ignore the return value of set_outcaps.
* gst/rtp/gstrtpac3depay.c: (gst_rtp_ac3_depay_setcaps),
(gst_rtp_ac3_depay_process):
Don't ignore the return value of set_caps.
No need to validate the buffer, the base class does that for us.
* gst/rtp/gstrtpamrdepay.c: (gst_rtp_amr_depay_setcaps),
(gst_rtp_amr_depay_process):
* gst/rtp/gstrtpamrdepay.h:
Don't ignore the return value of setcaps.
No need to validate the buffer, the base class does that for us.
No need to set output caps on the buffers, the base class does that for
us.
The subclass will make sure we are negotiated.
* gst/rtp/gstrtpdvdepay.c: (gst_rtp_dv_depay_setcaps),
(gst_rtp_dv_depay_process), (gst_rtp_dv_depay_reset):
* gst/rtp/gstrtpdvdepay.h:
Clean up caps negotiation.
The subclass will make sure we are negotiated.
* gst/rtp/gstrtpg726depay.c: (gst_rtp_g726_depay_setcaps),
(gst_rtp_g726_depay_process):
Clean up caps negotiation.
Use the marker bit to set the DISCONT flag on outgoing buffers.
* gst/rtp/gstrtpg729depay.c: (gst_rtp_g729_depay_init),
(gst_rtp_g729_depay_setcaps), (gst_rtp_g729_depay_process):
* gst/rtp/gstrtpg729depay.h:
The subclass will make sure we are negotiated.
Use the marker bit to set the DISCONT flag on outgoing buffers.
* gst/rtp/gstrtpgsmdepay.c: (gst_rtp_gsm_depay_setcaps),
(gst_rtp_gsm_depay_process):
Clean up caps negotiation.
Use the marker bit to set the DISCONT flag on outgoing buffers.
* gst/rtp/gstrtpgsmpay.c: (gst_rtp_gsm_pay_setcaps):
Clean up caps negotiation.
Don't ignore the return value of set_outcaps.
* gst/rtp/gstrtph263depay.c: (gst_rtp_h263_depay_setcaps),
(gst_rtp_h263_depay_process):
Clean up caps negotiation.
No need to validate the buffer, the base class does that for us.
* gst/rtp/gstrtph263pay.c: (gst_rtp_h263_pay_setcaps),
(gst_rtp_h263_pay_flush), (gst_rtp_h263_pay_handle_buffer):
* gst/rtp/gstrtph263pay.h:
Don't ignore the return value of set_outcaps.
Do some more timestamps.
* gst/rtp/gstrtph263pdepay.c: (gst_rtp_h263p_depay_setcaps),
(gst_rtp_h263p_depay_process):
Clean up caps negotiation.
Don't ignore the return value of setcaps.
No need to validate the buffer, the base class does that for us.
* gst/rtp/gstrtph263ppay.c: (gst_rtp_h263p_pay_class_init),
(gst_rtp_h263p_pay_setcaps), (gst_rtp_h263p_pay_flush),
(gst_rtp_h263p_pay_handle_buffer):
* gst/rtp/gstrtph263ppay.h:
Don't ignore the return value of set_outcaps.
Do some more timestamps.
* gst/rtp/gstrtph264depay.c: (gst_rtp_h264_depay_setcaps),
(gst_rtp_h264_depay_process):
Clean up caps negotiation.
Don't ignore the return value of setcaps.
Fix possible caps leak.
No need to validate the buffer, the base class does that for us.
* gst/rtp/gstrtph264pay.c: (gst_rtp_h264_pay_setcaps):
Add some more debug info.
* gst/rtp/gstrtpilbcdepay.c: (gst_rtp_ilbc_depay_setcaps),
(gst_rtp_ilbc_depay_process):
Clean up caps negotiation.
Use the marker bit to set the DISCONT flag on outgoing buffers.
* gst/rtp/gstrtpilbcpay.c: (gst_rtpilbcpay_sink_setcaps):
Clean up caps negotiation.
* gst/rtp/gstrtpmp1sdepay.c: (gst_rtp_mp1s_depay_setcaps),
(gst_rtp_mp1s_depay_process):
Clean up caps negotiation.
Don't ignore the return value of setcaps.
No need to validate the buffer, the base class does that for us.
No need to set caps on buffers, subclass does that for us.
* gst/rtp/gstrtpmp2tdepay.c: (gst_rtp_mp2t_depay_setcaps),
(gst_rtp_mp2t_depay_process):
Clean up caps negotiation.
Don't ignore the return value of setcaps.
No need to validate the buffer, the base class does that for us.
No need to set caps on buffers, subclass does that for us.
* gst/rtp/gstrtpmp4adepay.c: (gst_rtp_mp4a_depay_setcaps),
(gst_rtp_mp4a_depay_process):
Clean up caps negotiation.
Don't ignore the return value of setcaps.
No need to validate the buffer, the base class does that for us.
* gst/rtp/gstrtpmp4apay.c: (gst_rtp_mp4a_pay_new_caps),
(gst_rtp_mp4a_pay_setcaps):
Don't ignore the return value of set_outcaps.
* gst/rtp/gstrtpmp4gdepay.c: (gst_rtp_mp4g_depay_setcaps),
(gst_rtp_mp4g_depay_process):
Clean up caps negotiation.
Don't ignore the return value of setcaps.
No need to validate the buffer, the base class does that for us.
No need to set caps on buffers, subclass does that for us.
* gst/rtp/gstrtpmp4gpay.c: (gst_rtp_mp4g_pay_finalize),
(gst_rtp_mp4g_pay_new_caps), (gst_rtp_mp4g_pay_setcaps):
Don't ignore the return value of set_outcaps.
* gst/rtp/gstrtpmp4vdepay.c: (gst_rtp_mp4v_depay_setcaps),
(gst_rtp_mp4v_depay_process):
Clean up caps negotiation.
Don't ignore the return value of setcaps.
No need to validate the buffer, the base class does that for us.
No need to set caps on buffers, subclass does that for us.
* gst/rtp/gstrtpmp4vpay.c: (gst_rtp_mp4v_pay_new_caps),
(gst_rtp_mp4v_pay_setcaps):
Don't ignore the return value of set_outcaps.
* gst/rtp/gstrtpmpadepay.c: (gst_rtp_mpa_depay_setcaps),
(gst_rtp_mpa_depay_process):
Clean up caps negotiation.
Don't ignore the return value of setcaps.
No need to validate the buffer, the base class does that for us.
Use the marker bit to set the DISCONT flag on outgoing buffers.
* gst/rtp/gstrtpmpapay.c: (gst_rtp_mpa_pay_setcaps):
Don't ignore the return value of set_outcaps.
* gst/rtp/gstrtpmpvdepay.c: (gst_rtp_mpv_depay_setcaps),
(gst_rtp_mpv_depay_process):
Clean up caps negotiation.
Actually set output caps.
No need to validate the buffer, the base class does that for us.
* gst/rtp/gstrtpmpvpay.c: (gst_rtp_mpv_pay_setcaps):
Don't ignore the return value of set_outcaps.
* gst/rtp/gstrtppcmadepay.c: (gst_rtp_pcma_depay_setcaps),
(gst_rtp_pcma_depay_process):
Clean up caps negotiation.
Set output buffer duration because we can.
Use the marker bit to set the DISCONT flag on outgoing buffers.
* gst/rtp/gstrtppcmapay.c: (gst_rtp_pcma_pay_setcaps):
Don't ignore the return value of set_outcaps.
* gst/rtp/gstrtppcmudepay.c: (gst_rtp_pcmu_depay_setcaps),
(gst_rtp_pcmu_depay_process):
Clean up caps negotiation.
Use the marker bit to set the DISCONT flag on outgoing buffers.
* gst/rtp/gstrtppcmupay.c: (gst_rtp_pcmu_pay_setcaps):
Don't ignore the return value of set_outcaps.
* gst/rtp/gstrtpspeexdepay.c: (gst_rtp_speex_depay_init),
(gst_rtp_speex_depay_setcaps), (gst_rtp_speex_depay_process):
Clean up caps negotiation.
Set output caps on the pad and header buffers.
Set duration on output buffers because we can.
* gst/rtp/gstrtpspeexpay.c: (gst_rtp_speex_pay_parse_ident):
Don't ignore the return value of set_outcaps.
* gst/rtp/gstrtpsv3vdepay.c: (gst_rtp_sv3v_depay_setcaps),
(gst_rtp_sv3v_depay_process):
Clean up caps negotiation.
No need to validate the buffer, the base class does that for us.
No need to set caps out output buffers, subclass does that.
* gst/rtp/gstrtptheoradepay.c: (gst_rtp_theora_depay_setcaps),
(gst_rtp_theora_depay_process):
Don't ignore the return value of setcaps.
No need to validate the buffer, the base class does that for us.
* gst/rtp/gstrtptheorapay.c: (gst_rtp_theora_pay_class_init),
(gst_rtp_theora_pay_flush_packet), (encode_base64),
(gst_rtp_theora_pay_finish_headers), (gst_rtp_theora_pay_parse_id),
(gst_rtp_theora_pay_handle_buffer):
Don't ignore the return value of set_outcaps.
* gst/rtp/gstrtpvorbisdepay.c: (gst_rtp_vorbis_depay_setcaps),
(gst_rtp_vorbis_depay_process):
Don't ignore the return value of setcaps.
No need to validate the buffer, the base class does that for us.
* gst/rtp/gstrtpvorbispay.c: (gst_rtp_vorbis_pay_finish_headers):
Don't ignore the return value of set_outcaps.
* gst/rtp/gstrtpvrawdepay.c: (gst_rtp_vraw_depay_setcaps):
Clean up caps negotiation, don't ignore setcaps return.
* gst/rtp/gstrtpvrawpay.c: (gst_rtp_vraw_pay_setcaps):
Don't ignore the return value of set_outcaps.
Original commit message from CVS:
* tests/check/elements/icydemux.c: (icydemux_found_pad):
Add some refcount check
* tests/check/elements/rtp-payloading.c: (rtp_pipeline_run):
Don't ignore the result of write(), fixes a compiler warning for me.
* tests/icles/videobox-test.c: (main):
Make the output a little more pretty.
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/gst-plugins-good-plugins.args:
* docs/plugins/gst-plugins-good-plugins.hierarchy:
* docs/plugins/gst-plugins-good-plugins.interfaces:
* docs/plugins/inspect/plugin-autodetect.xml:
Add the docs of the new elements.
Original commit message from CVS:
* gst/autodetect/gstautoaudiosrc.c:
(gst_auto_audio_src_class_init):
* gst/autodetect/gstautovideosrc.c:
(gst_auto_video_src_class_init):
Fix "Since" tags in the documentation.
Original commit message from CVS:
Patch by: Sjoerd Simons <sjoerd at luon dot net>
* ext/soup/gstsouphttpsrc.c: (gst_soup_http_src_class_init),
(gst_soup_http_src_set_property), (gst_soup_http_src_get_property):
Add support for souphttpsrc to act as a live source. This makes it
possible to get timestamped buffers in combination with the
"do-timestamp" property. Fixes bug #556019.
Original commit message from CVS:
Patch by: Peter Kjellerstedt <pkj at axis com>
* gst/matroska/matroska-mux.c: (gst_matroska_mux_reset),
(gst_matroska_mux_request_new_pad), (gst_matroska_mux_release_pad):
Fix a memory leak when pads are requested but the pipeline never
goes into PLAYING.
Correctly remove request pads, no matter if they have collected
data or not.
Fixes bug #557710.
Original commit message from CVS:
Patch by: <lrn1986 at gmail dot com>
* gst/udp/gstudpnetutils.h:
Define the correct WINVER so getaddinfo() can be used when using
mingw32. Fixes bug #557294.
Original commit message from CVS:
* gst/equalizer/gstiirequalizer.c: (update_coefficients):
Don't calculate the filter coefficients for every single buffer
but only when it's needed. Fixes bug #557260.
Original commit message from CVS:
* gst/avi/gstavimux.c:
Fix VPRP chunk setup in avimux.
Fixes: #556010
Patch By: Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
Original commit message from CVS:
* gst/videobox/gstvideobox.c:
support dynamically changing properties in videobox
Fixed: #557085
Patch By: Wim Taymans <wim.taymans@collabora.co.uk>
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_stream_scan):
Skip entries for streams that don't have a output pad yet, thereby
avoiding calling pad functions with a NULL pad.
Fixes#556424
Original commit message from CVS:
* ext/flac/gstflacdec.c (gst_flac_dec_read_stream):
* ext/flac/gstflacenc.c (gst_flac_enc_write_callback):
Cast some size_t arguments to guint to avoid compiler
warnings on 64-bit systems.
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:
* tests/examples/rtp/client-H263p.sdp:
* tests/examples/rtp/client-H263p.sh:
* tests/examples/rtp/server-VTS-H263p.sh:
Add some more H263p server and client examples.