Commit graph

7313 commits

Author SHA1 Message Date
Matej Knopp
ca32442f86 qtdemux: offset samples according to edit list
https://bugzilla.gnome.org/show_bug.cgi?id=700264
2013-07-15 09:59:23 +02:00
Matej Knopp
ae92ea21a1 aacparse: be less verbose when parsing LOAS streams
https://bugzilla.gnome.org/show_bug.cgi?id=704162
2013-07-15 07:55:08 +02:00
Matej Knopp
3111161e8a qtdemux: unselect instead of ignoring disabled track, detect chapter track
https://bugzilla.gnome.org/show_bug.cgi?id=704007
2013-07-12 11:45:33 +02:00
Kyosuke Nekomura
4d517e94ef audioecho: Fix handling of delay property in PLAYING/PAUSED state
https://bugzilla.gnome.org/show_bug.cgi?id=703901
2013-07-12 09:36:16 +02:00
Olivier Crête
3aa20e7c8d rtpmux: Enable proxy caps on the src pads 2013-07-11 17:21:22 -04:00
Matej Knopp
7b69f427f1 qtdemux: correct argument order in gst_util_uint64_scale_int_round
https://bugzilla.gnome.org/show_bug.cgi?id=703350
2013-07-10 09:20:17 +02:00
Olivier Crête
1997acc8b2 rtpmux: Keep caps order from the peer or the filter 2013-07-09 17:43:31 -04:00
Sebastian Dröge
3d0988f46f videomixer: Fix handling of buffers without a duration
We'll have to pop buffer from collectpads and store it
internally only to get the timestamp of the next buffer.
If we continue to keep it in collectpads, no new buffer
to calculate the end time will ever arrive.

https://bugzilla.gnome.org/show_bug.cgi?id=703743
2013-07-09 12:42:17 +02:00
Sebastian Dröge
9e9d2ce098 videomixer: Fix negotiation with 0/1 framerates
https://bugzilla.gnome.org/show_bug.cgi?id=703743
2013-07-09 11:53:28 +02:00
Jonas Holmberg
beebe2b7af matroskademux: Unlock stream lock after use
Stream lock of sink pad was not unlocked after non-updating seek.
2013-07-09 11:25:14 +02:00
Ognyan Tonchev
aa2d96c46b multipartmux: Re-set need_segment flag after FLUSH_STOP
https://bugzilla.gnome.org/show_bug.cgi?id=703182
2013-07-09 09:16:20 +02:00
Sebastian Dröge
0cc77d8e30 rtph263ppay: Don't pass upstream filter caps to downstream
Downstream usually can't accept video/x-h263 but only application/x-rtp,
so we would always get an empty intersection here.

https://bugzilla.gnome.org/show_bug.cgi?id=702632
2013-07-08 14:10:44 +02:00
Wim Taymans
ab24598443 rtspsrc: avoid some strdup 2013-07-02 11:13:25 +02:00
Wim Taymans
7c950ef3f2 rtspsrc: add select-stream signal
Add a signal to let the app select what streams will be selected.

See https://bugzilla.gnome.org/show_bug.cgi?id=634419
2013-07-02 10:40:35 +02:00
Wim Taymans
2d276e1bcb rtspsrc: avoid strdup 2013-07-02 10:40:35 +02:00
J. Rick Ramstetter
f01b751e52 rtp: Fix documentation and comments to use rtpbin instead of old gstrtpbin
https://bugzilla.gnome.org/show_bug.cgi?id=703426
2013-07-02 10:12:17 +02:00
Wim Taymans
1db7e62060 rtspsrc: add signal to notify of the SDP
This way, the app can look and modify the SDP.
2013-07-01 17:31:30 +02:00
Matej Knopp
4053e1d6ac qtdemux: compute framerate from average sample duration
https://bugzilla.gnome.org/show_bug.cgi?id=703350
2013-07-01 12:53:17 +02:00
Alban Browaeys
97015d3c93 flvdemux: Add flvversion 1 to the flash-video caps
This allows using avdec_flv which requires this field to be
present in the caps. FLV only supports flash-video version 1
right now.

https://bugzilla.gnome.org/show_bug.cgi?id=703076
2013-07-01 11:43:46 +02:00
Sebastian Dröge
5f6469fe2a deinterleave: Don't hold object lock while sending events downstream
Based on a patch by Kishore Arepalli <kishore.arepalli@gmail.com>

https://bugzilla.gnome.org/show_bug.cgi?id=703114
2013-07-01 11:37:00 +02:00
Sebastian Dröge
75b5a54f17 matroskademux: Add MPEG4 video profile/level to the caps 2013-07-01 11:01:13 +02:00
Sebastian Dröge
423bddac6a matroskademux: Add AAC profile/level to the caps
https://bugzilla.gnome.org/show_bug.cgi?id=703312
2013-07-01 11:01:13 +02:00
Wim Taymans
c469434ea8 vorbispay: add support for config-interval
Align code with the theora payloader and add support for the config-interval to
periodically send out the config headers.
2013-06-28 15:21:56 +02:00
Wim Taymans
006562c9f4 theorapay: small cleanups 2013-06-28 15:21:12 +02:00
Wim Taymans
cdc66462ce theorapay: handle streamheaders as well 2013-06-28 12:08:19 +02:00
Wim Taymans
3169432ed4 vorbispay: always collect headers on data
When we see a data packet, always check if we need to collect any previous
headers.
2013-06-28 12:07:58 +02:00
Wim Taymans
6c716dfc25 vorbispay: handle streamheader as well
Take config strings from the streamheader when we can

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=664312
2013-06-28 11:43:17 +02:00
David Svensson Fors
692206d3a7 rtph264pay: avoid double buffer unmap on error
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=703171
2013-06-27 17:14:11 +02:00
Wim Taymans
3289a2963b rtspsrc: reset-sync before play
Call reset-sync on the rtpbin before we go to playing. This makes us require SR
packets for all streams again before we attempt to sync them. If we don't reset,
it might be that we combine SR packets from before and after the PAUSE/PLAYING
state change and end up with huge bogus offsets.
2013-06-27 17:02:14 +02:00
Wim Taymans
519305d14d jitterbuffer: improve sync on first packets
Don't throw away the first RTCP packet if it arrives before the first
RTP packet but remember and use it to signal sync once we get the
RTP packet.

See https://bugzilla.gnome.org/show_bug.cgi?id=691400
2013-06-27 16:23:20 +02:00
Wim Taymans
8969f00661 jitterbuffer: only signal loop when active
Only signal the loop function when it is active.
2013-06-27 16:15:45 +02:00
Wim Taymans
4bd2ffb26e jitterbuffer: signal timestamp discont
We can now use the RESYNC buffer flag to mark a timestamp discont when we update
the ts-offset property.
2013-06-27 16:13:37 +02:00
Wim Taymans
4258ddcc36 jpegpay: turn some errors into warnings
Turn some errors into warnings, we can continue processing so this should
not be fatal.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=657079
2013-06-26 20:49:41 +02:00
Wim Taymans
bb9d42b976 rtspsrc: avoid some flushes 2013-06-26 14:58:53 +02:00
Wim Taymans
f39ef2ab68 rtspsrc: handle data message when waiting for reply
When we are waiting for a server reply, handle data messages instead of
ignoring them.
2013-06-26 14:41:36 +02:00
Wim Taymans
61219dc6ed rtspsrc: handle data messages in separate method
Refactor and make a method to handle a data message.
2013-06-26 14:41:36 +02:00
Wim Taymans
a4be0c6de3 rtspsrc: add some more docs to handle-request signal
See https://bugzilla.gnome.org/show_bug.cgi?id=702705
2013-06-25 20:36:18 +02:00
Youness Alaoui
52e440c91b Send a clock_provide message on the bus when we get a netclock 2013-06-25 14:50:47 +02:00
Youness Alaoui
547df8e14f rtspsrc: Expose use-pipeline-clock property 2013-06-25 14:50:33 +02:00
Wim Taymans
35f6e79b94 udpsink: bind to the given interface
Actually call BINDTODEVICE to bind to the interface as given by the
property.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=702819
2013-06-24 17:13:05 +02:00
Sebastian Dröge
3c9aba91dc matroska: Add initial VP9 support 2013-06-21 18:22:13 +02:00
Youness Alaoui
95906b8f1c rtsp: go back into the loop after doing pause
After we do a pause request, go back to loop mode so that we can listen
for server messages again.

See https://bugzilla.gnome.org/show_bug.cgi?id=702705
2013-06-21 10:42:20 +02:00
Olivier Crête
2cd6f53e24 rtpptdemux: Wait after the caps to forward the other events
First forward the stream-start, then the caps, then the rest
2013-06-20 23:16:59 -04:00
Wim Taymans
b96d931bf4 rtspsrc: fix race in state change to paused
When we go to paused, we first flush the connection and then send the pause
command. As a result of the flushing, the scheduled paused command can get
lost. Wait until the connection is completely flushed and the rtsp task is
waiting before issuing the paused or playing request.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=702705
2013-06-20 14:43:47 +02:00
Wim Taymans
8428423c04 qtdemux: handle SEGMENT query 2013-06-20 11:31:22 +02:00
Kishore Arepalli
5b32891ae1 avidemux: duration query returns zero for DV video in avi
https://bugzilla.gnome.org/show_bug.cgi?id=702625
2013-06-19 11:17:22 +02:00
Sebastian Dröge
b001da2926 qtdemux: Disable usage of allocation queries
This can only reliably work if demuxers have a
separate streaming thread per srcpad. This should be
done in a demuxer base class, which integrates parts
of multiqueue

https://bugzilla.gnome.org/show_bug.cgi?id=701856
2013-06-19 11:07:48 +02:00
Alex Ashley
46a137c810 Avoid skipping moov atoms for fragmented MP4 files.
bug #700505

Following a representation change that causes a resolution change,
the video decoder fails to decode correctly. Dashdemux detects the
representation change and pushes a new caps event and an
initialization segment (a new moov atom) to the downstream qtdemux,
but it doesn't handle this new moov yet, it will only parse the
first one it receives.

This commit changes qtdemux to accept a new moov in a dash bitstream
switching scenario.
2013-06-19 01:44:22 -03:00
Thiago Santos
384e8f6c34 qtdemux: send stream-start only once for each stream
Do not send stream start again when reconfiguring a pad for new caps.
That is common for adaptive streams
2013-06-19 00:55:30 -03:00
Jens Georg
745be945ce rtpmp2tdepay: accept mislabelled streams from GStreamer 0.10 as well
The mp2t payloader in 0.10 mislabelled the streams as MP2T-ES
instead of MP2T, so accept that as well for compatibility reasons.

https://bugzilla.gnome.org/show_bug.cgi?id=702457
2013-06-17 15:39:17 +01:00
Wim Taymans
d9bc48edc9 rtspsrc: manage element state ourselves
Lock the state of the all our elements and manage their states
outselves. Because we are working async, we can't rely on the state
change function to set the state at the right time or to return the
right return value from the state change function.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=702046
2013-06-16 05:40:13 +02:00
Bruno Gonzalez
e89a48616b matroskademux: Don't unlock stream lock without locking it first
https://bugzilla.gnome.org/show_bug.cgi?id=702167
2013-06-14 14:10:13 +02:00
Wim Taymans
51c9f7989f rtpsession: Use the right hashtable to calculate bandwidth
Don't use an unused hashtable to iterate source to calculate bandwidth.
Remove unused code.
2013-06-13 16:02:19 +02:00
Sebastian Dröge
01cc493944 Revert "videomixer: When all sinkpads are eos, update output segment stop and forward it"
This reverts commit 2d3910fc79.

It's not solving any problem and instead causes code to fall apart.

https://bugzilla.gnome.org/show_bug.cgi?id=701519
2013-06-12 18:25:59 +02:00
Tim-Philipp Müller
213cd2777b matroskademux: mark subtitle streams as sparse in stream-start event
And also mark the streams that should be selected by default if
marked so in the headers.

https://bugzilla.gnome.org/show_bug.cgi?id=600648
2013-06-12 15:31:22 +01:00
Stefan Sauer
39c4c5f251 audiopanorama: add prebuilt files 2013-06-11 22:14:33 +02:00
Stefan Sauer
349a60e164 audiopanorama: cleanup of transform()
Only map input if we are reading it. Cleanup the logging and the comments a bit.
2013-06-11 21:48:18 +02:00
Stefan Sauer
1dc06932a2 audiopanorama: use orc to speedup processing
Use special variants for the case when we don't change the panorama (pan=0.0).
Simplify the processing functions by passing the panorama value directy instead
of the instance. Use orc for clearing buffers too.
2013-06-11 21:48:18 +02:00
Mathieu Duponchelle
6e23f1fec4 videomixer: check last end_time after conversion to running segment
The last end_time was saved after conversion, so the comparison
had to be made after conversion for it to make sense.

https://bugzilla.gnome.org/show_bug.cgi?id=701385
2013-06-11 21:03:35 +02:00
Mathieu Duponchelle
4243714301 videomixer: add mix->segment.start to output_end_time
When the segment start is not 0, this created a situation where
the output_end_time is inferior to output_start_time, and the duration
of the next buffer ended up underflowing.

https://bugzilla.gnome.org/show_bug.cgi?id=701385
2013-06-11 21:03:03 +02:00
Sebastian Dröge
e2b46a776f matroskademux: Send stream headers after the segment event
https://bugzilla.gnome.org/show_bug.cgi?id=700799
2013-06-11 13:54:53 +02:00
Sebastian Dröge
adc9f0bd10 qtdemux: Do allocation query after exposing all pads and no-more-pads
Also configure video streams as early as possible.

Related https://bugzilla.gnome.org/show_bug.cgi?id=701856
but not fixing that.
2013-06-11 12:27:19 +02:00
Sebastian Dröge
ab275b62a8 flvdemux: Don't forward CAPS events from upstream
Just use the default pad event handler.

https://bugzilla.gnome.org/show_bug.cgi?id=701976
2013-06-11 12:27:19 +02:00
Stefan Sauer
4ef27eb0f9 audiopanorama: move the enum to the header and use instead of gint
Move the enum for the processing method to the header so that we can use the
type for the instance struct.
2013-06-09 20:39:48 +02:00
Sebastian Dröge
1ba08e331c wavenc: Link with libgstbase for GstByteWriter 2013-06-07 15:15:15 +02:00
Sebastian Dröge
db1c2a28a6 wavparse: Push stream-start event in pull mode before anything else 2013-06-07 13:27:07 +02:00
Sebastian Dröge
048866f1b1 Release 1.1.1 2013-06-05 18:31:40 +02:00
Sebastian Dröge
ea75b890dc wavenc: Fix taglist ref handling that made the unit test fail 2013-06-05 15:50:04 +02:00
Wim Taymans
0d27829a6b udpsink: avoid leaking the host
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=701586
2013-06-05 12:14:01 +02:00
Thiago Santos
7c12435f9b qtdemux: make sure taglist is writable before adding tags
Avoids assertions
2013-06-02 15:37:06 -03:00
Thiago Santos
78dfdee2aa qtdemux: effectively skip tracks that weren't listed on the 1st moov
Without this, stream is NULL and the code will try to access it, leading
to segfaults.
2013-06-02 13:06:15 -03:00
Thiago Santos
70fca21c28 qtdemux: skip redundant check
!got_moov is already checked the line above
2013-06-02 13:06:15 -03:00
Stefan Sauer
bcf1bba689 level: remove unused variables in instance struct 2013-06-01 21:34:37 +02:00
Anton Belka
db29522a43 wavenc: add tags & toc support
Write tags as LIST INFO chunk. Format the toc as cue + LIST adtl chunk. Remove
old #ifdef'ed code.
2013-06-01 21:34:37 +02:00
Wim Taymans
1f0600ee6f Revert "rtph264pay: Restructuring to allow for adding optional caps"
This reverts commit 61666898cf.

This commit changes what the set_sps_pps() function does, not it doesn't
set caps anymore (and should have been renamed). The main problem is that
not all call sites are updated and thus leak the string.
2013-05-31 15:18:48 +02:00
Wim Taymans
1516c14881 Revert "rtph264pay/depay: Add frame dimensions a payloaded caps"
This reverts commit 3dca756a5d.

The H264 RTP spec has no attributes for width and height.
2013-05-31 15:11:12 +02:00
Wim Taymans
b79d217396 Revert "rtph264pay/depay: Add optional framerate caps for use in SDP"
This reverts commit d8825e2a5c.

There is no framerate attribute in the h264 RTP spec.
2013-05-31 15:09:51 +02:00
Wim Taymans
190b3d6688 Revert "rtpjpegpay/depay: Replace framesize caps with width/height"
This reverts commit 0075d111b4.

Extra application/x-rtp are SDP fields, which are strings.
2013-05-31 15:08:16 +02:00
Wim Taymans
f870cef8bc Revert "rtpjpegpay/depay: Replace framerate caps field with fraction"
This reverts commit 9fd25a810b.

We deal with sdp attributes in application/sdp, which are always strings.
2013-05-31 15:05:51 +02:00
Wim Taymans
25082a50b9 rtspsrc: add extra TLS url protocols
We also support TLS protocols now.
2013-05-31 12:34:22 +02:00
Sebastian Dröge
e2e1d1a158 videomixer: Add FIXME comment about the DURATION query from adder
Currently the code just takes with maximum upstream duration, which
is wrong. It should be the maximum upstream duration in running time.
2013-05-30 23:56:38 +02:00
Mathieu Duponchelle
5223868caa videomixer: Set a reference to mix->current_caps as the QUERY_CAPS result. 2013-05-30 15:36:48 -04:00
Stefan Sauer
6feaf69bec level: misc cleanups
Fix some oudated comments. Sort out some confusion of interval_frames and num_frames.
2013-05-30 17:38:55 +02:00
Stefan Sauer
52282b5faa level: fix discontinuities in timestamps 2013-05-28 19:09:12 +02:00
Wim Taymans
80850df711 rtspsrc: create and push stream-start in TCP mode 2013-05-28 15:45:49 +02:00
Wim Taymans
4fc1f3088b rtspsrc: remove some obsolete code
It is not needed to do a state change from the _play() function on
ourselves. The state change function already did that and we don't want to
interfere with that (or use hacks to avoid interference).
2013-05-28 15:10:07 +02:00
Wim Taymans
e6f850996b rtspsrc: set RTCP caps on the RTCP pads 2013-05-28 12:26:25 +02:00
Wim Taymans
63f0ecbbe7 rtpsession: send stream-start and segment events
Also send stream-start and segment event on the RTCP pad.
We don't need to send anything on the sync_src pad because we
already forwarded all incomming events.
2013-05-28 12:26:25 +02:00
Wim Taymans
779bcc093c rtspsrc: add signal to handle server requests
Add a signal to be notified of a server request. The signal handler can then
construct the response message for the server.

See https://bugzilla.gnome.org/show_bug.cgi?id=632207
2013-05-28 12:26:24 +02:00
Nicolas Dufresne
cd30a81ee3 videomixer: Maintain z-order when new pad are added
https://bugzilla.gnome.org/show_bug.cgi?id=701109
2013-05-27 22:43:25 -04:00
Thibault Saunier
7a3df1ab31 videomixer: Always handle flush_stop_pending atomically
It is not protected with the COLLECT_PADS_STREAM_LOCK anymore
2013-05-25 12:20:08 -04:00
Thibault Saunier
608bd3e2db videomixer: Do not take COLLECT_PADS_STREAM_LOCK when unnecessary
Collectpad takes the lock itself when receiving serialized events
and we should not take it for not serialized ones
2013-05-25 11:03:31 -04:00
Sebastian Dröge
1b5a8ac41c flxdec: Properly skip non-frame chunks 2013-05-24 19:34:05 +02:00
Sebastian Dröge
ae3ee32f42 flxdec: Flush data from adapter after reading it
Otherwise we're going in an infinite loop, reading the same data
over and over again.
2013-05-24 19:31:14 +02:00
Andoni Morales Alastruey
a62af107ae goom2k1: fix more duplicated symbols 2013-05-24 09:29:23 +02:00
Sebastian Rasmussen
9fd25a810b rtpjpegpay/depay: Replace framerate caps field with fraction
The previous implementation had the formatting of SDP attributes happen
in each RTP payloader, now instead the constituent values are propagated
as caps fields. This allows for applications to do SDP offer/answer
based on caps negotiation.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=700748
2013-05-23 21:05:49 +02:00
Sebastian Rasmussen
0075d111b4 rtpjpegpay/depay: Replace framesize caps with width/height
The previous implementation had the formatting of SDP attributes happen
in each RTP payloader, now instead the constituent values are propagated
as caps fields. This allows for applications to do SDP offer/answer
based on caps negotiation.

Keep parsing a-framerate, x-framerate and x-dimensions in rtpjpegdepay
to be backwards compatible with previous payloaders.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=700748
2013-05-23 21:05:43 +02:00
Sebastian Rasmussen
d8825e2a5c rtph264pay/depay: Add optional framerate caps for use in SDP
This allows for applications to format SDP attributes and still do SDP
offer/answer based on caps negotiation.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=700749
2013-05-23 21:04:17 +02:00
Sebastian Rasmussen
3dca756a5d rtph264pay/depay: Add frame dimensions a payloaded caps
This allows for applications to format SDP attributes and still do SDP
offer/answer based on caps negotiation.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=700749
2013-05-23 21:04:11 +02:00
Sebastian Rasmussen
61666898cf rtph264pay: Restructuring to allow for adding optional caps
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=700749
2013-05-23 21:04:00 +02:00
Sebastian Dröge
e26b8c2832 (dyn|multi)udpsink: Add properties to specify the bind address and port
By default we use the any addresses and a random port for binding the socket.
2013-05-23 18:42:09 +02:00
Sebastian Dröge
5b79b8ff3c (dyn|multi)udpsink: Bind socket before using it
https://bugzilla.gnome.org/show_bug.cgi?id=700878
2013-05-23 18:05:07 +02:00
Sebastian Dröge
1ed7f7a6a8 (multi)udpsink: Add missing getters for socket-v6 and used-socket-v6 properties 2013-05-23 17:26:31 +02:00
Nicolas Dufresne
d8c5e31657 videomixer: Don't hold stream-lock while pushing non-serialized events
https://bugzilla.gnome.org/show_bug.cgi?id=700868
2013-05-23 09:20:04 -04:00
Nicolas Dufresne
a7e0f251ca videomixer: Don't hold object lock while sending events
https://bugzilla.gnome.org/show_bug.cgi?id=700868
2013-05-23 09:20:04 -04:00
Sebastian Dröge
ecc6c607ff deinterlace: The return value of gst_pad_set_caps() is not relevant anymore
Caps can fail to be set because the pad is not linked yet for example.
2013-05-22 17:34:07 +02:00
David Schleef
318cd39c3e qtdemux: Add error if file has playready drm 2013-05-21 18:21:49 -07:00
Thibault Saunier
18ef4f18d0 videomixer: Send a reconfigure event upstream if sinkpad caps are not usable
https://bugzilla.gnome.org/show_bug.cgi?id=684237
2013-05-21 12:15:36 -04:00
Alexander Schrab
a1df050356 mulawdec: Handle NULL buffers in handle_frame
https://bugzilla.gnome.org/show_bug.cgi?id=698894
2013-05-21 15:18:04 +02:00
Sebastian Rasmussen
2361567bae rtpjpegpay/depay: Add framesize caps for use in SDP
The format of the value adheres to RFC6064 and it is meant to be parsed
and included in the SDP sent by gst-rtsp-server to its clients.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=700748
2013-05-21 09:09:03 +02:00
Sebastian Rasmussen
919eed0787 rtpjpegpay: Add optional framerate caps for use in SDP
The format of the value adheres to RFC4566 and it is meant to be parsed
and included in the SDP sent by gst-rtsp-server to its clients.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=700748
2013-05-21 09:08:21 +02:00
Mathieu Duponchelle
2d3910fc79 videomixer: When all sinkpads are eos, update output segment stop and forward it
https://bugzilla.gnome.org/show_bug.cgi?id=699793
2013-05-20 21:06:56 +02:00
Mathieu Duponchelle
521c9a7b5d videomixer: Don't reset the output segment on flush stop
Only init it when getting from READY to PAUSED, and change it on seek events.

https://bugzilla.gnome.org/show_bug.cgi?id=699793
2013-05-20 21:03:03 +02:00
Thibault Saunier
86b106091c videomixer: Send caps event from the streaming thread
This way we avoid races in caps negotiation and we make sure
that the caps are sent after stream-start.

https://bugzilla.gnome.org/show_bug.cgi?id=684237
2013-05-19 09:28:04 -04:00
Thibault Saunier
718f9004d0 videomixer: Do not send flush_stop when receiving a seek
There is no reason to send a flush-stop when receiving a seek event.
In the case of a flushing seek, we could eventually want to, but in
the code path were we check if the seek is "flushing", we have the
following comment that makes sense:

"we can't send FLUSH_STOP here since upstream could start pushing data
after we unlock mix->collect.
We set flush_stop_pending to TRUE instead and send FLUSH_STOP after
forwarding the seek upstream or from gst_videomixer_collected,
whichever happens first."

https://bugzilla.gnome.org/show_bug.cgi?id=684237
2013-05-19 09:28:04 -04:00
Thibault Saunier
85b6852deb videomixer2: Protect flush_stop_pending with the collectpad stream lock
And make sure to expect a flush-stop after a flush-start

https://bugzilla.gnome.org/show_bug.cgi?id=684237
2013-05-19 09:28:04 -04:00
Michael Olbrich
d1c56376d6 rtpmp4apay: clear config buffer before using it
This is necessary because parts of the memory are only modified with "|="

https://bugzilla.gnome.org/show_bug.cgi?id=700514
2013-05-18 10:57:56 +01:00
Thiago Santos
55caa99ccd qtdemux: Do not expect EOS after a segment event if upstream is mss
In case qtdemux is handling a mss stream, do not mark the stream to wait
for EOS after a segment. Even if it seems to be the last one according to
the current streams information.

MSS handling is different here because there is another demuxer driving
the pipeline
2013-05-16 16:50:49 -03:00
Thiago Santos
5517e352ab qtdemux: only set channels and rate if qtdemux knows it
Setting both of those to 0 is pointless and means that qtdemux
doesn't know the real value. Avoid setting it in this case.
2013-05-16 16:50:49 -03:00
Arnaud Vrac
6edcc564ba qtdemux: set alac caps using info from codec buffer
The samplerate field in the STSD atom is not right for some ALAC files
(usually when audio is 96kHz/24bits), so the audio caps must be
extracted from the codec data.

https://bugzilla.gnome.org/show_bug.cgi?id=700382
2013-05-15 18:42:11 +01:00
Arnaud Vrac
8ed611cdbc avidemux: do not push discont buffers if they aren't discont
https://bugzilla.gnome.org/show_bug.cgi?id=682110
2013-05-15 13:16:11 +01:00
Joshua M. Doe
837dcfb363 videocrop: Add support for GRAY16_LE/GRAY16_BE
https://bugzilla.gnome.org/show_bug.cgi?id=700331
2013-05-15 09:29:30 +02:00
Sebastian Dröge
41e1af3751 rgvolume: Send all events through the proxypads instead of just sending to the target
Otherwise the sticky events are missing on the proxypads.
2013-05-14 17:29:58 +02:00
Sebastian Dröge
4fdbf88a65 matroskaparse: Make sure to send a segment event before dataflow 2013-05-14 13:52:18 +02:00
Sebastian Dröge
5c8bb90262 deinterlace: Improve handling of min/max buffer numbers of the buffer pool 2013-05-14 09:45:12 +02:00
Matej Knopp
30c00f4fb7 deinterlace: set caps for buffer pool config 2013-05-14 09:38:24 +02:00
Olivier Crête
4f0fdabf10 multifilesink: Let the base class do get_times
This will make sync=TRUE work, the default is still sync=FALSE
2013-05-13 13:34:22 -04:00
Nicolas Dufresne
f67c227878 interleave: Send stream-start before caps event 2013-05-13 15:37:38 +02:00
Nicolas Dufresne
04c9f43567 rtpmux: Send stream-start before caps 2013-05-13 15:37:05 +02:00
Sebastian Dröge
6dee7d3a06 icydemux: Fix sticky event handling 2013-05-13 15:19:25 +02:00
Sebastian Dröge
9ac456bd43 flvmux: Push sticky events in the right order 2013-05-13 15:06:03 +02:00
Sebastian Dröge
0ab23ef5c9 deinterleave: Fix sticky event handling 2013-05-13 14:54:35 +02:00
Sebastian Dröge
c94fbf6206 deinterleave: Code style fixes 2013-05-13 13:55:44 +02:00
Sebastian Dröge
f28ab45f3e rtpgstpay: First let baseclass handle events, then put them into the stream
Fixes handling of sticky events.

https://bugzilla.gnome.org/show_bug.cgi?id=700213
2013-05-13 13:44:35 +02:00
Tim-Philipp Müller
8359b6bff1 multipartdemux: fix example pipeline
Need jpegparse.
2013-05-10 14:01:14 +01:00
Nicolas Dufresne
0b737fba0d shapewipe: Can't map twice the same buffer for writing
I took the opportunity to simplify that code a bit. We now use
gst_buffer_make_writable() to make the buffer writable and map twice the
same buffer, with first map being read/write, and second read only. This
get rid of the critical:

GStreamer-CRITICAL **: gst_structure_set_name: assertion `IS_MUTABLE

https://bugzilla.gnome.org/show_bug.cgi?id=700044
2013-05-10 09:27:02 +02:00
Nicolas Dufresne
13a5d0304d shapewipe: Ensure caps are writable
The exist one case where that we endup with original caps in ret, in which
case we are not guaratied to have writable caps. Simply ensure this is the
caps are writable before entering the loop.

https://bugzilla.gnome.org/show_bug.cgi?id=700044
2013-05-10 09:26:07 +02:00
Nicolas Dufresne
59c2f459de shapewipe: Fix sample pipeline in documentation
https://bugzilla.gnome.org/show_bug.cgi?id=700044
2013-05-10 09:26:00 +02:00
Sebastian Dröge
3110b7cc31 Revert "videomixer2: Take into account new segments"
This reverts commit 84ae670ab4.

Actually this is not how it is supposed to work. videomixer
creates a [0,-1] segment and then puts frames of the different
streams there based on their running times in their own segments.
2013-05-09 16:26:19 +02:00
Mathieu Duponchelle
84ae670ab4 videomixer2: Take into account new segments
Also forward the event downstream on the next opportunity.

https://bugzilla.gnome.org/show_bug.cgi?id=699793
2013-05-09 16:18:54 +02:00
Tim-Philipp Müller
643450c9b8 Revert "gstrtspsrc: set buffer-size for multicast buffers"
This reverts commit 2481e95d03.

This is already done five lines above, it was added a year
ago in commit 561b131e.
2013-05-09 09:09:59 +01:00
Nicolas Dufresne
2d53229a86 audiowsinclimit: Frequence property renamed cutoff
Updating the documentation to reflect this change.

See: https://bugzilla.gnome.org/show_bug.cgi?id=699964
2013-05-09 08:46:04 +02:00
Aha Unsworth
2481e95d03 gstrtspsrc: set buffer-size for multicast buffers
For receiving video data via RTSP when the video is sent via
multicast there is no way to specify the udpsrc buffer-size.

On windows the native network buffer is not large and with video
i-frames being huge the buffer is to small and you get i-frame corruption,
it looks terrible, and there is no (easy) way to set the udpsrc buffer-size.

https://bugs.freedesktop.org/show_bug.cgi?id=52264
2013-05-08 16:57:53 -03:00
Sebastian Dröge
1588cda9a1 videomixer2: Send stream-start before caps event
https://bugzilla.gnome.org/show_bug.cgi?id=699895
2013-05-08 16:02:46 +02:00
Thiago Santos
a0e934e72e qtdemux: push new caps events when caps change
Whenever the demuxer has a new caps on a stream, it should set the
new_caps variable to true and a new caps event will be pushed before
the next buffer
2013-05-07 19:29:17 -03:00
Thiago Santos
725faab590 qtdemux: do not push discont buffers if they aren't discont
qtdemux takes its buffers from a GstAdapter. Those buffers are created
from the larger buffer that it obtained from upstream and they carry
the same flags, including DISCONT if it is set. In these cases, all
buffers that qtdemux is going to push would be marked as DISCONT.

This scenario can make parsers/decoders flush on every buffer leading
to no decoding at all hapenning. This patch prevents this by unsetting
the flag if it shouldn't be set.
2013-05-07 19:29:17 -03:00
Thiago Santos
4d073beeee qtdemux: some code cleanup for mss handling code
* Explicitly init variables for fragmented formats at init
* Do not use GstClockTime type if the variable isn't a timestamp
* Fix a style/readability issue at an if block
* Group 2 mss mode conditional blocks together to improve readability

Conflicts:
	gst/isomp4/qtdemux.c
2013-05-07 19:29:17 -03:00
Thiago Santos
d1b91c755c qtdemux: avoid storing non-time newsegments to push later
This can confuse downstream when they get a byte segment after receiving
the natural time segment from qtdemux that it sends when starting to
push buffers. This is specially the case with parsers that try to
convert the position from byte to time format and might miss the
correct position for playback to start.
2013-05-07 19:29:17 -03:00
Thiago Santos
895525b5cb qtdemux: avoid setting fields to non-writable caps 2013-05-07 19:29:17 -03:00
Wim Taymans
544d926732 qtdemux: don't send so many segment events
Only send one segment event in the beginning of the stream, not
after each moov and moof atom.

Conflicts:
	gst/isomp4/qtdemux.c
2013-05-07 19:29:17 -03:00
Wim Taymans
d9cd4fcc17 qtdemux: place incomming timestamps on output
Place the incomming timestamp (if any) directly onto the outgoing buffers
and interpollate other timestamps.

Conflicts:
	gst/isomp4/qtdemux.c
2013-05-07 19:29:17 -03:00
Thiago Santos
cca2f555d1 qtdemux: improve reset of internal status
Reset different variables on state changes to ready and when
handling a flush-stop. For handling flush stops we should check
if there is an upstream adaptive demuxer driving the pipeline as this
means that qtdemux will get a new moov atom. For 'standard' isomedia
streams this isn't true and qtdemux should keep the previous moov
information around.

Conflicts:
	gst/isomp4/qtdemux.c
2013-05-07 19:29:17 -03:00
Thiago Santos
6c69e59677 qtdemux: prepare qtdemux to accept multiple dash moovs in a row
Whenever dashdemux switches bitrates it sends a new moov with the
new stream configuration. qtdemux should now handle this by splitting
the exposing and configuration of streams into separate functions. When
the stream is new it is configured and exposed, when it is a new bitrate
of an existing stream it is only reconfigured.

Conflicts:
	gst/isomp4/qtdemux.c
2013-05-07 19:25:30 -03:00
Andre Moreira Magalhaes (andrunko)
2a7d3d1598 qtdemux: Move FLUSH_STOP/PAUSED_TO_READY handling to a reset method.
Conflicts:
	gst/isomp4/qtdemux.c
2013-05-07 19:18:03 -03:00
Louis-Francis Ratté-Boulianne
d499b461da qtdemux: Remove old pads when exposing streams and other general fixes.
Conflicts:
	gst/isomp4/qtdemux.c
2013-05-07 19:18:03 -03:00
Thiago Santos
a3c19eeea1 qtdemux: handle mss streams
smoothstreaming streams should be handled as a special kind of
fragmented isomedia. In MSS the fragments will not contain a
'moov' atom with the media descriptions, this has to be extracted
from the caps.

Additionally, there should be another demuxer upstream that is likely
going to be the one to answer/act on queries and events, so qtdemux has
to forward those upstream.
2013-05-07 19:18:03 -03:00
Sebastian Rasmussen
9532b04947 rtpgstpay: fix invalid memory access in event handler
First process event in payloader, then hand it to the
base class which takes ownership of the event.

https://bugzilla.gnome.org/show_bug.cgi?id=699637
2013-05-04 10:49:23 +01:00
Tim-Philipp Müller
68ac392e8f ac3parse, dcaparse: check buffer size before trimming
and unref old buffer as soon as possible.
2013-05-04 10:08:47 +01:00
Andoni Morales Alastruey
3462282b83 dcaparse: add support for "audio/x-private1-dts" 2013-05-03 13:44:23 +02:00
Andoni Morales Alastruey
4531381541 ac3parse: add support for "audio/x-private1-ac3" 2013-05-03 13:44:23 +02:00
Andoni Morales Alastruey
4a78a77e65 rtp: fix duplicated symbols with libvpx 2013-05-02 14:03:33 +02:00
Andoni Morales Alastruey
584fdbad84 goom2k1: fix duplicated symbols with goom 2013-05-02 14:03:26 +02:00
Sebastian Dröge
ae05ed4f05 rtph264pay: If the adapter is empty on EOS don't try to map its content
https://bugzilla.gnome.org/show_bug.cgi?id=699314
2013-05-01 15:49:45 +02:00
Ognyan Tonchev
0584d5c4c9 matroskademux: add stream-format=raw to aac caps
https://bugzilla.gnome.org/show_bug.cgi?id=699303
2013-05-01 15:47:15 +02:00
Tim-Philipp Müller
7ccb387e85 udp: log WARNING debug message if UDP multicast is likely to be broken 2013-04-27 11:25:12 +01:00
Tim-Philipp Müller
4273eccace udpsrc: add includes to get socklen_t defined on Windows
https://bugzilla.gnome.org/show_bug.cgi?id=692400
2013-04-27 11:16:54 +01:00
Yury Delendik
4bc06859d1 qtdemux: add support for VP6F VP6 flash codec
https://bugzilla.gnome.org/show_bug.cgi?id=699010
2013-04-27 09:39:45 +01:00
Edward Hervey
3e5ad52c0d monoscope: Fix debug statement 2013-04-26 12:16:49 +02:00
Alexander Schrab
3ec9673dfc mulawdec: change base class to GstAudioDecoder
https://bugzilla.gnome.org/show_bug.cgi?id=698894
2013-04-26 08:46:34 +02:00
Mathieu Duponchelle
6b153ce385 videomixer: send stream-start event. 2013-04-25 16:09:34 -03:00
Wim Taymans
1df2e623b5 docs: add some pay/depayloaders
See https://bugzilla.gnome.org/show_bug.cgi?id=551631
2013-04-25 14:05:55 +02:00
Sebastian Dröge
fb0384fa0d mulaw: Some minor memleak fixes and cleanup 2013-04-25 12:44:15 +02:00
Alexander Schrab
f0edb5fb70 mulawenc: change to gstaudioencoder base, added bitrate tags 2013-04-25 12:36:15 +02:00
Sebastian Dröge
b1af93f791 (multi)udpsink: Use separate sockets for IPv4 and IPv6
https://bugzilla.gnome.org/show_bug.cgi?id=534243
2013-04-25 12:12:23 +02:00
Sebastian Dröge
0b552150ce dynudpsink: Use separate sockets for IPv4 and IPv6
https://bugzilla.gnome.org/show_bug.cgi?id=534243
2013-04-25 12:09:27 +02:00
Sebastian Dröge
ed8ea46424 udp: Don't include removed gstudp.h in noinst_HEADERS 2013-04-25 10:43:56 +02:00
Sebastian Dröge
afb284e3a9 udp: Remove unused enum type 2013-04-25 09:16:14 +02:00
Sebastian Dröge
a957457cc1 udp: Use the generic marshaller instead of generating marshallers 2013-04-25 09:13:51 +02:00
Sebastian Dröge
07d3363436 udpsrc: Rename instance variable from host to multi_group
This is more consistent as it's used for the multicast-group property.
2013-04-25 09:07:41 +02:00
Sebastian Dröge
427673d283 udpsrc: Add bind-address property
This is equivalent to multicast-group currently for backwards compatibility.
In 2.0 this should be handled separately, the former only being the multicast
group and the latter always being the address the socket is bound to, even if
a multicast group is given.
2013-04-25 09:05:12 +02:00
Wim Taymans
5ba3fd3c63 vrawdepay: return output buffer from process
Return the output buffer from the process function instead of pushing
it ourselves. This way, the subclass can actually deal with the return
value of the push.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=693727
2013-04-24 16:24:25 +02:00
Wim Taymans
eac9efb92e rtp: a marker bit should translate to RESYNC
A marker bit on an audio packet does not mean a DISCONT (in the GStreamer sense
of missing data) but it means that the packet is the end of a talkspurt and thus
a good opportunity to resync to the clock. Use the RESYNC buffer flag to note
this.
Real discontinuities are marked with DISCONT still when the seqnum has a GAP or
when the input buffer has the DISCONT flag set.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=627204
2013-04-24 15:42:45 +02:00
Sebastian Dröge
fdb667ae00 rtpjpegdepay: Drop frame if it's less than 2 bytes large
https://bugzilla.gnome.org/show_bug.cgi?id=677560
2013-04-22 10:19:29 +02:00
Sreerenj Balachandran
504360fe36 autodetect: use _plugin_feature_rank_compare API instead of duplicating the code. 2013-04-18 14:00:06 +02:00
Olivier Crête
24bb263d54 videomixer: Don't unref query, we don't own it
Fixes double-unref bug. Bug found by Youness Alaoui
2013-04-16 19:29:48 -04:00
Sebastian Dröge
b0b0557c48 gst: Add better support for static plugins 2013-04-15 15:54:11 +02:00
Andoni Morales Alastruey
2ea9a66dd5 goom2k1: fix duplicated symbol with goom 2013-04-15 08:43:05 +02:00
Wim Taymans
9d7519f66e rtp: register tag image types
The rtpgstdepay needs the type to be available in order to deserialize the
event.
2013-04-12 16:18:42 +01:00
Wim Taymans
b1f4587d75 rtpgstdepay: handle event parse failures better 2013-04-12 16:18:42 +01:00
Anton Belka
b959d827be wavenc: add TOC setter support 2013-04-12 14:35:47 +02:00
Stefan Sauer
f4577ff492 wavenc: small cleanups for toc handling
Don't add empty labl/note chunks. Always pass instance as the first param. Add more logging.
2013-04-12 14:35:47 +02:00
Sebastian Dröge
b17750ed9e rtspsrc: Proxy the ntp-sync property of rtpbin 2013-04-12 12:58:50 +02:00
Sebastian Dröge
53dae1585e rtspsrc: Give the manager always the name "manager"
This allows to use the GstChildProxy interface to adjust
properties on it.
2013-04-12 12:51:05 +02:00
Anton Belka
bda2703e88 wavenc: add 'note' chunk support 2013-04-11 20:47:18 +02:00
Wim Taymans
f8013487c9 rtspsrc: add support for NetClientClock
When the server suggests a GstNetTimeProvider in the SDP, set up a
GstNetClientClock that slaves to the remote clock and suggest this clock in
provide_clock.
2013-04-11 15:00:05 +01:00
Wim Taymans
f96aa414e1 udpsink: avoid alloc and free in render function
Avoid doing alloc and free in the render function for each buffer. Instead,
allocate the needed arrays in _init and use those.
2013-04-11 14:57:11 +01:00
Stefan Sauer
48b9919e31 waveparse: remove superfluous g_list_first() calls
The variables already point to the start of the list.
2013-04-10 14:25:24 +02:00
Andreas Fenkart
20d3ec8810 rtpsbcdepay: fix sbc frame length calculation for mono and stereo modes
https://bugzilla.gnome.org/show_bug.cgi?id=697463
2013-04-09 23:17:57 +01:00
Anton Belka
5ae92ce770 wavparse: add 'note' chunk support
Add 'note' chunk support in TOC as GST_TAG_COMMENT

https://bugzilla.gnome.org/show_bug.cgi?id=696549
2013-04-09 22:58:27 +02:00
David Schleef
a55ccff854 qtdemux: check value inside enda to set endianness 2013-04-09 13:30:17 -07:00
Wim Taymans
ece73b786a icydemux: avoid copy when we can 2013-04-09 17:34:12 +02:00
Wim Taymans
91a3afc4dc gstpay: use bufferlist to avoid memcpy 2013-04-09 16:53:31 +02:00
Wim Taymans
3d7d757521 udpsink: improve debug 2013-04-09 16:53:31 +02:00
Alexander Schrab
79d5a7d03c wavparse: error out if we receive eos before any valid data
https://bugzilla.gnome.org/show_bug.cgi?id=696684
2013-04-09 00:27:31 +01:00
Matej Knopp
67c2219687 deinterlace: force deinterlacing in "interlaced" mode
https://bugzilla.gnome.org/show_bug.cgi?id=697467
2013-04-07 20:48:21 +01:00
Nicola Murino
c41c16424d rtpsbcdepay: fix printf format compiler warnings
https://bugzilla.gnome.org/show_bug.cgi?id=697343
2013-04-05 13:50:19 +01:00
Stefan Sauer
b79f667ef4 level: resync on discont
Drop pending data on discont and start a new cycle with a new base timestamp.
Cleanup some variables.
2013-04-04 22:49:49 +02:00
Olivier Crête
f8831c0cd2 rtpsbcdepay: Rank as secondary
This way, it will be selected by decodebin
Bug reported by andreas.fenkart@streamunlimited.com

https://bugzilla.gnome.org/show_bug.cgi?id=697227
2013-04-03 18:25:36 -04:00
Stefan Sauer
2e56032031 level: subdivide buffers for sample accurate interval handling
Previously we would skip level message when processing buffers > the requested
interval. Also the message frequency would contain quite some jitter due to only
considering them at the end of buffers.

Cleanup the tests while we're at it.
2013-04-03 21:40:17 +02:00
Stefan Sauer
b062171dda spectrum: remove old since comment 2013-04-03 20:30:08 +02:00
Sebastian Dröge
d80ff8e7f3 rtspsrc: Proxy the multicast-iface property of udpsrc 2013-04-03 17:53:13 +02:00
Olivier Crête
6f3734c305 rtpssrcdemux: Only forward stick events while holding the sinkpad stream lock
Otherwise we get a race where if the RTCP packet comes in first and while
it is added the pads, the segment event arrives on the RTP stream, the event
may be lost completely and never forwarded.
2013-04-02 23:42:42 -04:00
Olivier Crête
76679f9ae9 rtpssrcdemux: No need to explicitely forward the caps
They are forwarded with the other events
2013-04-02 23:42:41 -04:00
Olivier Crête
4ad8693f3c rtpssrcdemux: Remove unused GstSegment 2013-04-02 23:42:41 -04:00
Olivier Crête
7293b0eff7 rtpssrcdemux: Simplify event forwarding
Use the gst_pad_forward() mechanic, this way we won't miss pads that are
added while we are pushing
2013-04-02 23:42:41 -04:00
Olivier Crête
f4c3aef13a rtpssrcdemux: Don't cross the internal links
We had the wrong condition to check for the internal links, so RTP and RTCP
pads got crossed!
2013-04-02 23:42:41 -04:00
Tim-Philipp Müller
078ff16abe matroskademux: fix some debug messages 2013-04-03 00:49:37 +01:00
Arnaud Vrac
00b46b4744 matroskademux: handle TrueHD audio codec id
https://bugzilla.gnome.org/show_bug.cgi?id=697113
2013-04-02 22:47:54 +01:00
Wim Taymans
ac2bcfa833 theorapay: add delta-unit to output frames 2013-03-31 19:14:04 +02:00
Matej Knopp
5686512b77 qtmux: use timestamp delta as duration if possible
https://bugzilla.gnome.org/show_bug.cgi?id=696437
2013-03-30 15:18:45 -07:00
Josep Torra
509631f60b rtp: fixes debug message printf related compiler warnings in SBC depayloader 2013-03-30 09:44:41 +01:00
Arun Raghavan
87bdad4bfc rtp: Add an rtpsbcdepay element
Pretty straightforward - takes SBC encapsulated in RTP, depayloads, and
pushes out SBC buffers.

https://bugzilla.gnome.org/show_bug.cgi?id=690582
2013-03-28 17:22:33 +00:00
Tim-Philipp Müller
477cc51fe7 rtp: fix SBC payloader
Init RTP buffer on stack correctly, so mapping it works
without criticals and the payloader actually works.
2013-03-27 22:18:34 +00:00
David Schleef
53f8b05b08 Use %03u for format in gst_pad_create_stream_id_printf() 2013-03-25 18:57:08 -07:00
Sebastian Dröge
56062768af capssetter: Prevent unneeded caps copying and allocation 2013-03-25 10:12:03 +01:00
Dirk Van Haerenborgh
766c5b22ed capssetter: Pass any or filter caps upstream
capsetter accepts anything and just forwards different caps,
as such it should return ANY caps on the sinkpad.

https://bugzilla.gnome.org/show_bug.cgi?id=693005
2013-03-25 10:11:32 +01:00
Tim-Philipp Müller
35769f7c5d wavparse: expose CUE sheet items as tracks not chapter entries in TOC
https://bugzilla.gnome.org/show_bug.cgi?id=677306
2013-03-24 17:55:55 +00:00
Tim-Philipp Müller
163a7afa1a wavenc: add some example pipelines 2013-03-23 12:59:26 +00:00
Anton Belka
e808173483 wavenc: add TOC support
https://bugzilla.gnome.org/show_bug.cgi?id=680998
2013-03-23 12:55:08 +00:00
Matej Knopp
f29e62c131 qtdemux: make empty subtitle buffer recognition more robust
https://bugzilla.gnome.org/show_bug.cgi?id=696244
2013-03-23 11:24:23 +00:00
David Schleef
c0443a17c4 qtmux: Fix test regression with one buffer streams 2013-03-22 15:14:15 -07:00
David Schleef
5bd2864101 qtdemux: split large raw audio samples
In order to deal with a file that has samples that are 24 seconds
long.  Seeking still doesn't work with such files.
2013-03-22 14:14:05 -07:00
David Schleef
364433c105 qtmux: Remove documentation for dts-method 2013-03-22 14:14:04 -07:00
David Schleef
6571e388be qtmux: deprecate dts-method property 2013-03-22 14:14:04 -07:00
David Schleef
ee56a7cb99 qtmux: Fix problems causing bad durations in file
- Fix up out-of-order incoming DTS values.
- Fix duration of initial sample.
2013-03-22 14:14:04 -07:00
David Schleef
816e186029 qtmux: fix all timestamps once first_ts is determined 2013-03-22 14:14:04 -07:00
David Schleef
258c40c6dd qtmux: Use PTS/DTS from incoming buffers
Remove old DTS guessing code.
2013-03-22 14:14:04 -07:00
Nicola Murino
709f05234f qtmux: expose mulaw caps
https://bugzilla.gnome.org/show_bug.cgi?id=696052
2013-03-22 20:08:06 +00:00
Rodolfo Schulz de Lima
874808fd2c qtdemux: fix sample leak when processing private qt tags
https://bugzilla.gnome.org/show_bug.cgi?id=696355
2013-03-22 08:47:17 +00:00
Matej Knopp
d8ac666137 qtmux: set stream language code from tag
https://bugzilla.gnome.org/show_bug.cgi?id=696358
2013-03-22 08:40:26 +00:00
Matej Knopp
49d9050e9a qtdemux: send GAP events for subtitle streams
https://bugzilla.gnome.org/show_bug.cgi?id=696244
2013-03-21 10:03:37 +00:00
Matej Knopp
516a0b8acb qtdemux: ignore empty subtitle buffers
https://bugzilla.gnome.org/show_bug.cgi?id=696244
2013-03-21 10:03:34 +00:00
Matej Knopp
f494635126 qtdemux: recognize SBTL subtype for subtitles
https://bugzilla.gnome.org/show_bug.cgi?id=696244
2013-03-21 10:03:14 +00:00
Anton Belka
0f97b6f978 flacparse: add support for the toc-select event
Select tracks from the CUE sheet by sending a toc-select
event based on the uid in the TOC.

https://bugzilla.gnome.org/show_bug.cgi?id=540891
2013-03-21 00:38:48 +00:00
Michael Smith
b85c5f236b mp4mux: in faststart mode, don't output up to 4 kB of garbage at the end. 2013-03-19 18:09:31 -07:00
Tim-Philipp Müller
5240b7453c sbcparse: pack multiple frames into one output buffer
Don't output a single buffer for every tiny SBC frame
2013-03-20 00:35:17 +00:00
Kishore Arepalli
288e05c99d deinterlace: fix infinite loop on EOS with non-default methods or fields
Fixes problem of infinite loop in gst_deinterlace_reset_history.
Last field in the history was never deinterlaced because idx becomes negative.

Happens e.g. with method=scalerbob fields=bottom or
method=greedyl fields=top

https://bugzilla.gnome.org/show_bug.cgi?id=695644
https://bugzilla.gnome.org/show_bug.cgi?id=693173
2013-03-17 14:47:26 +00:00
Tim-Philipp Müller
dfde4179e8 avimux: change raw video caps order so that GRAY8 is last
People like colours.

https://bugzilla.gnome.org/show_bug.cgi?id=695543
2013-03-12 00:16:18 +00:00
Ognyan Tonchev
3f8ad30cee rtph264pay: Don't use upstream caps with peer_query_caps ()
Calling gst_pad_peer_query_caps () on the src pad with the caps
upstream can produce as a filter from gst_rtp_h264_pay_getcaps ()
is wrong and makes caps negotiation fail if upstream caps are not
NULL.

https://bugzilla.gnome.org/show_bug.cgi?id=695629
2013-03-11 16:55:13 -04:00
Dirk Van Haerenborgh
065bdf5925 avimux: support raw BGR
https://bugzilla.gnome.org/show_bug.cgi?id=695543
2013-03-11 14:51:00 +01:00
Dirk Van Haerenborgh
d7743cf7c6 avidemux: support raw video with negative height
https://bugzilla.gnome.org/show_bug.cgi?id=695541
2013-03-11 14:23:46 +01:00
Tim-Philipp Müller
694dbcc5a0 dtmf: move dtmf plugin from -bad to -good
https://bugzilla.gnome.org/show_bug.cgi?id=687416
2013-03-09 01:18:30 +00:00
Tim-Philipp Müller
a4c5aa38ec Merge branch 'dtmf-moved-from-bad'
https://bugzilla.gnome.org/show_bug.cgi?id=687416
2013-03-09 00:30:38 +00:00
Sebastian Dröge
539126c097 matroska: Include config.h, it's needed for _stdint.h 2013-03-03 11:59:31 +01:00
Sebastian Dröge
1810786083 flacparse: Fix (wrong) use of uninitialized variable compiler warning 2013-03-03 11:53:04 +01:00
Tim-Philipp Müller
677bfecc6f qtdemux: add variant field to H.263 caps
avdec_h263 won't get plugged otherwise.
2013-03-02 13:59:52 +00:00
Arnaud Vrac
1cff6427f1 qtdemux: skip disabled tracks
ISO/IEC 14496-12 specifies disabled tracks should be completely
ignored, so just do it.

Avoids deadlock during prerolling for some files.

Also prevents 'chapter' subtitle tracks from showing up.

https://bugzilla.gnome.org/show_bug.cgi?id=693993
https://bugzilla.gnome.org/show_bug.cgi?id=628790
2013-03-02 13:54:23 +00:00
Stefan Sauer
15a81baea5 spectrum: remove the since doc-comment from 0.10 2013-02-28 09:43:12 +01:00
Stefan Sauer
b62cb3edcd level: add a "post-messages" property and deprecate "message"
In spectrum this was changed from 0.10 to 1.0, lets do this here too.
2013-02-28 09:43:12 +01:00
Olivier Crête
df5ca83baf rtpmp4gdepay: streamtype is not put by all RTSP server, not make it optional
Specific case here is Wowza 3.5.0
2013-02-26 14:19:10 -05:00
Thomas Vander Stichele
df8f5f2f83 level: put back deprecation warnings 2013-02-25 00:35:58 +01:00
Thomas Vander Stichele
52b7aab711 level: send last message on EOS 2013-02-25 00:19:22 +01:00
Mark Nauwelaerts
56e2767c20 avidemux: push mode: handle some more 0-size buffer cases
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=684944
2013-02-24 19:28:07 +01:00
Tim-Philipp Müller
8004ae0369 matroskamux: fix up example pipeline in docs 2013-02-23 18:50:52 +00:00
Paul HENRYS
10802cae73 rtpsession: Fix wrong code organisation in case of collision
change_ssrc field of RTPSession should be set before calling
rtp_session_schedule_bye_locked () as this function will call reconsider function
that will wake up rtcp_thread which will call rtp_session_on_timeout () that will
check change_ssrc to change the ssrc.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=694184
2013-02-22 09:28:07 +02:00
Jean-François Fortin Tam
f5cb19e287 alpha: improve descriptions of chroma keying-related properties and enums
https://bugzilla.gnome.org/show_bug.cgi?id=694374
2013-02-22 00:09:56 +00:00
Youness Alaoui
a65fd146f8 alpha: Do not override the method with custom r/g/b values
Depending on the order g_object_set() calls aare made, the
target r/g/b settings will override the method if set to
green/blue. Change that so we do not use the target-r/g/b values
unless the method is set to custom.

https://bugzilla.gnome.org/show_bug.cgi?id=694374
2013-02-22 00:04:51 +00:00
Ognyan Tonchev
42d8b96f2d auparse: do not leak src_caps
https://bugzilla.gnome.org/show_bug.cgi?id=694275
2013-02-21 19:31:59 +00:00
Wim Taymans
a61055809f rtpsession: only delay RTCP when we are a sender
Only delay the RTCP thread when we are a sender, which we can know because we
have a send_rtp_src pad. Otherwise we might delay the RTCP thread if we
are only a receiver and then there is no code path that wakes up the
RTCP thread and we end up without RTCP packets.
2013-02-20 21:07:41 +02:00
Tim-Philipp Müller
5b19be933b qtdemux: fix up dodgy code that tries to fix up a broken moov atom
After gst_buffer_new_and_alloc() gst_buffer_copy_into() will likely
append to the already-existing memory instead of filling it.
2013-02-18 20:04:05 +00:00
Tim-Philipp Müller
34b81f7c93 qtdemux: fix potential crash on short MOOV atom
Don't unmap short MOOV atom buffer twice, which happened
in the case where we don't fix up the MOOV atom.

Fixes crashes when thumbnailing partial mp4 file where
the MOOV atom is still incomplete.

https://bugzilla.gnome.org/show_bug.cgi?id=694010
2013-02-18 16:35:08 +00:00
Stefan Sauer
99f84b8c4c audiopanorama: remove channel-mask from caps
The channel-mask is only needed for channels>2 which we don't do.
2013-02-15 21:30:15 +01:00
Tim-Philipp Müller
01c6512d5f udpsrc: use g_socket_set_option() to set buffer size with newer GLib versions
So we have to worry less about portability.

https://bugzilla.gnome.org/show_bug.cgi?id=692400
2013-02-15 14:11:36 +00:00
Sebastian Dröge
a7ddbc03fe rtp-payloading: Fix unit test caps and AMR depayloader sink template caps
Fields were missing from the actual caps, or too many fields
existed in the template caps.
2013-02-13 12:02:46 +01:00
Michael Smith
e3430b0d07 qtdemux: extract codec_data for ProRes 2013-02-12 13:19:53 -08:00
Tim 'mithro' Ansell
c499a81848 avimux: Fixing buffer leak in gst_avi_mux_do_buffer
gst_avi_mux_do_buffer was leaking data from gst_collect_pads_pop.
2013-02-12 10:09:05 +01:00
Mark Nauwelaerts
bf81dce432 avidemux: correct duration for audio VBR buffers in pull mode 2013-02-10 15:10:32 +01:00
Mark Nauwelaerts
f0645b79c5 avidemux: proper position reporting and push mode timestamping
... and align current_total semantics in push and pull mode,
which tracks bytes for CBR and blocks for VBR.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=691481
2013-02-08 21:41:55 +01:00
Wim Taymans
2d5319c1fa rtpsession: delay RTCP until first RTP packet
Delay sending the first RTCP packet until we have sent the first RTP packet.
Otherwise we will send out a Receiver Report instead of a sender report.

See https://bugzilla.gnome.org/show_bug.cgi?id=691400
2013-02-08 17:05:27 +01:00
Wim Taymans
2971ed44ee rtpsession: remove dead code
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=668355
2013-02-07 15:06:40 +01:00
Paul HENRYS
0e91c949d8 rtpptdemux: forward sticky events and then set caps
When a new src pad is added, first forward the sticky events and then
set the caps on the src pad

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=692786
2013-02-07 14:38:20 +01:00
Markovtsev Vadim
7cebe2fc41 rtpjitterbuffer: improve debug output
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=688935
2013-02-07 14:32:26 +01:00
Wim Taymans
978cc9f538 rtpbin: rework cleanup of streams
Move the work of cleaning up the client streams in the free_stream
function. This allows us to properly clean up the client streams when we
remove an RTP stream as well.

Based on patch by Sujay <sdatar@cisco.com>

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=660156
2013-02-07 13:02:34 +01:00
Tim 'mithro' Ansell
3a5d17e852 videomixer2: avoid caps leak
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=693307
2013-02-07 11:40:35 +01:00
Wim Taymans
c3077012c0 jitterbuffer: do skew estimation only for new timestamps
Only run the skew estimation code when we have a new RTP timestamp. If we have
the same RTP timestamp, we simply use the previous estimation. This works
because the new observation with the same RTP timestamp has to have a bigger
receiver time and is thus not going to influence the estimation except for
causing more jitter.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=640023
2013-02-06 17:15:11 +01:00
Wim Taymans
640de61740 rtspsrc: only EOS when our source sends BYE
Only EOS when we receive a BYE event from the SSRC of our stream.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=675453
2013-02-06 14:01:16 +01:00
Wim Taymans
0540492ab2 rtspsrc: save the stream SSRC
Conflicts:
	gst/rtsp/gstrtspsrc.c
2013-02-06 14:00:56 +01:00
Wim Taymans
c8fb1c720c rtspsrc: flush connection when stopping
When we stop, we can flush all pending commands so that we can stop and
join the task.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=684924
2013-02-06 13:18:18 +01:00
Stefan Sauer
96f8775a0d spectrum: remove outdates readme
Lets remove the readme from pre-0.1.0 that is completely irrelevant now.
2013-02-05 22:02:13 +01:00
Stefan Sauer
86ae581928 audiopanorama: add more debug logging 2013-02-05 18:51:27 +01:00
Rico Tzschichholz
682e49a752 audioparsers: fix typo in noinst_headers 2013-02-04 18:38:41 +00:00
Stefan Sauer
1f1fe47cb6 audiopanorama: further port to 1.0
Transformcaps is not called with caps containing single structures anymore. Also add missing filter handling. Still does not negotiate though.
2013-02-04 11:08:23 +01:00
Stefan Sauer
d187b96ee2 audiopanorama: fix caps
We don't turn float into 32bit pcm. Looks like a typo from updating the caps.
2013-02-03 22:45:52 +01:00
Olivier Crête
fe3e535853 level: Add missing coma between formats 2013-02-03 13:14:50 +01:00
Matthew Waters
b9151a9c28 videomixer: fix eos timestamp check
fixes hang in videotestsrc num-buffers=20 ! videomixer ! fakesink

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=692935
2013-01-31 16:45:38 +01:00
Dirk Van Haerenborgh
18ff57d6b3 avimux: add support for raw monochrome 8-bit video
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=692932
2013-01-31 13:00:17 +01:00
Wim Taymans
747447d298 rtpsession: avoid '...is used uninitialized' 2013-01-29 10:32:51 +01:00
Youness Alaoui
f6a00ad6e9 qtdemux: set interleaved layout correctly for LPCM audio
https://bugzilla.gnome.org/show_bug.cgi?id=663458
2013-01-28 23:44:01 +00:00
Youness Alaoui
a76524ea08 qtdemux: add support for LPCM fourcc (uncompressed audio in Quicktime7)
https://bugzilla.gnome.org/show_bug.cgi?id=663458
2013-01-28 23:43:57 +00:00
Youness Alaoui
69b814546a qtdemux: print all debug for sound sample description v2
https://bugzilla.gnome.org/show_bug.cgi?id=663458
2013-01-28 23:43:49 +00:00
Youness Alaoui
92ff8a9b09 qtdemux: sound sample description v2 doesn't override samples_per_packet
https://bugzilla.gnome.org/show_bug.cgi?id=663458
2013-01-28 23:43:42 +00:00
Youness Alaoui
ee3d9cbd98 qtdemux: pass stsd data to qtdemux_audio_caps()
We will need that later for LPCM format support. Disable
QDM2 parsing of stsd data which dead code before as well
because data was always NULL.

https://bugzilla.gnome.org/show_bug.cgi?id=663458
2013-01-28 23:43:38 +00:00
Youness Alaoui
6d3ff78575 qtdemux: add len check for sound sample descriptions v1 and v2
https://bugzilla.gnome.org/show_bug.cgi?id=663458
2013-01-28 23:43:28 +00:00
Tim-Philipp Müller
629772f735 rtpmanager: use C89-style comments 2013-01-28 23:07:34 +00:00
Olivier Crête
451217c437 gstrtpsession: Fix double-declared variable 2013-01-28 18:06:15 -05:00
Olivier Crête
7300d489fe rtp: Fix compilation errors in previous patches 2013-01-28 17:58:20 -05:00
Haakon Sporsheim
86c13ceae6 rtpsession: Ensure MT safe event handling and plug event leak.
https://bugzilla.gnome.org/show_bug.cgi?id=667826
2013-01-28 17:44:31 -05:00
Idar Tollefsen
268c998a32 rtpsession: mt-safe event-push
By taking a ref of the sink-pad under lock, it won't dissappear
while the push is taking place

https://bugzilla.gnome.org/show_bug.cgi?id=667816
2013-01-28 17:34:50 -05:00
Pascal Buhler
f459fe2673 rtpssrcdemux: Safely push on pads that might be removed due to a RTCP BYE
https://bugzilla.gnome.org/show_bug.cgi?id=667815
2013-01-28 17:01:27 -05:00
Tim-Philipp Müller
721dd1ab26 sbcparse: init some variables to avoid bogus compiler warnings 2013-01-28 11:58:50 +00:00
Wim Taymans
4397c8ffbf rtpdepay: remove payload type restrictions
Remove the pt restrictions for all the depayloaders that have an
encoding-name. We can use this to autoplug decoders.
Remove the encoding-name for all the payloaders with a fixed payload
type.
We now either have an encoding-name or a pt in the sinkpad caps of
a depayloader.

See https://bugzilla.gnome.org/show_bug.cgi?id=639292
2013-01-28 12:41:04 +01:00
Marc Leeman
bab2f3c92b rtp: remove payload requirements from selected depayloaders
encoding name is required in the caps and is a better fit for autoplugging than
the pt value. Hardware manufacturers have a bad habit of skimming through RFCs
and in this case; use unassigned numbers for encoders instead of dynamic
numbers.

In essence, this patch will add support for a lot of Bosch hardware encoders
without breaking autoplugging.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=639292
2013-01-28 12:23:41 +01:00
Mark Nauwelaerts
a1a579afeb qtdemux: push mode: only parse moov 1 once
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=691570
2013-01-27 12:54:20 +01:00
Tim-Philipp Müller
47fccbe635 rtpdtmfsrc: fix compiler warning
gstrtpdtmfsrc.c: In function 'gst_dtmf_src_prepare_message.isra.1':
gstrtpdtmfsrc.c:669:3: error: 's' may be used uninitialized in this function
2013-01-26 22:58:29 +00:00
Olivier Crête
db5c3f4048 rtpdtmfdepay: Fix missing work in doc 2013-01-25 21:06:05 -05:00
Olivier Crête
92f9a9d9ff rtpdtmfsrc: Post the messages after the clock wait
This way, the messages will be closer in time to when the packets are sent out
2013-01-25 20:45:43 -05:00
Olivier Crête
0d316b4f43 rtpdtmfsrc: Only set the duration when starting to send
The duration depends on the clock rate, which could change due to renegotiation
2013-01-25 20:45:43 -05:00
Olivier Crête
90497aa3cd rtpdtmfsrc: remove "ssrc" from caps
ssrc is uint and we don't have a uint range type
2013-01-25 20:45:43 -05:00
Tim-Philipp Müller
d62019fff2 qtmux: set language to 'undefined' instead of English by default 2013-01-24 21:08:51 +00:00
Mark Nauwelaerts
0777a600e3 audioparsers: sbc: fix bogus compiler warning
gst-plugins-good/gst/audioparsers/gstsbcparse.c: In function 'gst_sbc_parse_handle_frame':
gst-plugins-good/gst/audioparsers/gstsbcparse.c:210:32: error: 'ch_mode' may be used uninitialized i
2013-01-22 19:26:09 +01:00
Thijs Vermeir
16128f0234 autoparsers: use appropriate printf format for gsize 2013-01-16 14:32:56 +01:00
Tim-Philipp Müller
9455a3aee1 rtpsbcpay: update some fields in the caps to their new name
and to match the parser. "mode" got renamed to "channel-mode"
and "allocation" to "allocation-method".
2013-01-16 10:19:36 +00:00
Tim-Philipp Müller
9f7a949773 audioparsers: add SBC audio parser
From-scratch rewrite, the bluez one was useless and broken.

https://bugzilla.gnome.org/show_bug.cgi?id=690582
2013-01-15 17:45:30 +00:00
Tim-Philipp Müller
39ef892938 rtp: import rtpsbcpay from bluez and port to 1.0
Compiles, but not tested yet (sbc elements still need to be ported).

https://bugzilla.gnome.org/show_bug.cgi?id=690582
2013-01-10 12:43:50 +00:00
Olivier Crête
c6dea5d09c dtmf/spandsp: Move dtmfdetect to use libspandsp
Remove our copy of the tone_detect.c file and use the original
from libspandsp. Also move the element to the spandsp plugin.
2013-01-09 20:05:16 -05:00
Marcel Holtmann
4196feb659 rtpsbcpay: Remove workaround for compiler warnings 2013-01-10 00:18:03 +00:00
Marcel Holtmann
fe79c60d74 rtpsbcpay: Add pragma based workaround for GStreamer warnings 2013-01-10 00:18:03 +00:00
Marcel Holtmann
08e95e7249 rtpsbcpay: Update copyright information 2013-01-10 00:15:36 +00:00
Marcel Holtmann
7fa03c0076 rtpsbcpay: Fix signed/unsigned comparison issue within GStreamer plugin 2013-01-10 00:15:35 +00:00
Marcel Holtmann
27a6b0abfe rtpsbcpay: Update copyright information 2013-01-10 00:15:35 +00:00
Marcel Holtmann
f890079aae rtpsbcpay: First attempt in fixing compiler warnings (still needs cleanup) 2013-01-10 00:15:35 +00:00
Johan Hedberg
7d4f846112 rtpsbcpay: More coding style fixes 2013-01-10 00:15:35 +00:00
Luiz Augusto von Dentz
151ad9b28d rtpsbcpay: Remove possible extra memcpy for gstreamer plugin. 2013-01-10 00:13:14 +00:00
Luiz Augusto von Dentz
69c8374b7c rtpsbcpay: Fix bug sending empty packages and remove a buffer copy. 2013-01-10 00:13:14 +00:00
Luiz Augusto von Dentz
7b3e4356ea rtpsbcpay: Fix runtime warnings of gstreamer plugin. 2013-01-10 00:13:14 +00:00
Luiz Augusto von Dentz
f74f061f3b rtpsbcpay: Update gstreamer plugin to use new sbc API. 2013-01-10 00:13:14 +00:00
Marcel Holtmann
b9be04f07b rtpsbcpay: Update copyright information 2013-01-10 00:13:14 +00:00
Luiz Augusto von Dentz
687400ecf4 rtpsbcpay: Fixes gstreamer caps and code cleanup. 2013-01-10 00:13:14 +00:00
Luiz Augusto von Dentz
a4f9624261 rtpsbcpay: Fix gtreamer payloader sending fragmented frames. 2013-01-10 00:13:14 +00:00
Luiz Augusto von Dentz
41e2f4f544 rtpsbcpay: Fix use of gstreamer plugin with rhythmbox and banshee and rtp timestamps. 2013-01-10 00:13:14 +00:00
Luiz Augusto von Dentz
96971cd323 rtpsbcpay: Make a2dpsink to act like a bin and split the payloader. 2013-01-10 00:13:14 +00:00
Wim Taymans
72402cc649 rtp: small improvements 2013-01-08 16:27:42 +01:00
Wim Taymans
af055d9574 jitterbuffer: refactor handle sync code
Move the code that combines the last SR packet and the current jitterbuffer sync
values into a sync structure, into its own function. We want to reuse this bit
later.
2013-01-07 15:50:33 +01:00
Wim Taymans
87f7d6b9bf rtp: include downstream latency in SR calculations
When we make a mapping between an RTP timestamp and an NTP timestamp, include
the downstream latency applied to the sinks. This makes it possible to have
both sinks run with different latencies and still have correct sync on the
client. It also is more correct because the RTP timestamp in the SR report will
actually correspond more closely to the NTP time it was sent on the server.
For pipelines with high latency on the sender side, this actually allows a
GStreamer receiver to perform synchronisation instead of dropping the RTCP
packets.
2013-01-07 15:45:10 +01:00
Wim Taymans
c631ed3300 rtpsession: don't cast event functions
There is no need to cast the event functions and only causes problems later when
we change the signature later and things silently compiles wrong code.
2013-01-07 14:25:14 +01:00
Wim Taymans
8dcde8b3ea rtp: more debug 2013-01-07 14:23:34 +01:00
Wim Taymans
6b7d05ac57 rtpsession: improve debug 2013-01-07 14:22:48 +01:00
Tim-Philipp Müller
cf1f6aff0d udpsrc: sanity check size of available packet data for reading to avoid memory waste
On Windows and OS/X, _get_available_bytes() may not return the size
of the next pending packet, but the size of all pending packets in
the kernel-side buffer, which might be rather large depending on
configuration. Sanity-check the size returned by _get_available_bytes()
to make sure we never allocate more memory than the max. size for
a packet, if it's an IPv4 socket.

https://bugzilla.gnome.org/show_bug.cgi?id=610364
2013-01-04 14:00:55 +00:00
Tim-Philipp Müller
95a37196b3 rtspsrc: add "proxy-id" and "proxy-pw" properties
to match souphttpsrc. user/password passed via the URI
will still take precedence though.

https://bugzilla.gnome.org/show_bug.cgi?id=395427
2012-12-31 00:22:27 +00:00
Wim Taymans
8cfec6a88d rtspsrc: fix cmd comparison
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=690476
2012-12-20 17:12:30 +01:00
Wim Taymans
75616fac9a rtspsrc: add some more debug 2012-12-20 17:12:20 +01:00
Jonas Holmberg
e12457f138 rtpjpegpay: handle width and height > 2040
If width or height is greater than 2040 set width and height to zero in
the rtp header and add x-dimensions to outcaps.

Solves #684955
2012-12-20 15:40:49 +01:00
Wim Taymans
dcb0e0af93 avidemux: cleanup in flag define 2012-12-20 13:04:52 +01:00
Wim Taymans
0e522bc69a avidemux: improve debug 2012-12-20 13:04:52 +01:00
Thijs Vermeir
de41376231 rtp: use appropriate printf format for gsize 2012-12-18 16:02:09 +01:00
Thijs Vermeir
df88341ffb deinterlace: use appropriate printf format for gsize 2012-12-18 16:02:09 +01:00
Philippe Normand
2bd77e1c8a interleave: set src pad caps upon last sink pad CAPS event
Gather caps on all sink pads before setting the src pad caps. This is
specially needed when the audio channel mapping is set on the sink
pads and the element needs to preserve it on its src pad.

https://bugzilla.gnome.org/show_bug.cgi?id=690267
2012-12-18 12:58:43 +01:00
Tim-Philipp Müller
f4cb0c4315 matroskademux: skip empty tags
instead of trying to add tags with empty strings, which
causes criticals at runtime.

https://bugzilla.gnome.org/show_bug.cgi?id=690358
2012-12-17 22:55:12 +00:00
Sebastian Dröge
c49dede772 audioparsers: Make sure the caps are actually writable before changing them 2012-12-17 15:17:12 +01:00
Sebastian Dröge
26040ee38c audioparsers: Use the peer caps for restrictions instead of the srcpad allowed caps
Otherwise we will intersect with the srcpad template caps and add all the caps fields
that the parser will ever set, no matter if downstream restricts this field or not.
This requires upstream to set this field on the caps to successfully negotiate.

https://bugzilla.gnome.org/show_bug.cgi?id=690184
2012-12-17 15:01:02 +01:00
Alexey Fisher
7e47e3b92d matroskamux: set appropriate block header flag for VP8 invisible frames
Useful for debugging mostly.

https://bugzilla.gnome.org/show_bug.cgi?id=654259
2012-12-16 23:30:13 +00:00
Tim-Philipp Müller
8a3b116d1f docs: add rtpmux and rtpdtmfmux to plugin docs
https://bugzilla.gnome.org/show_bug.cgi?id=629117
2012-12-16 16:36:39 +00:00
Tim-Philipp Müller
3295b5d791 rtpmanager: move rtpmux and rtpdtmfmux elements from -bad
https://bugzilla.gnome.org/show_bug.cgi?id=629117
2012-12-16 16:36:39 +00:00
Tim-Philipp Müller
de204ba754 rtpmux: Fix FSF address
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-12-16 16:36:39 +00:00
Tim-Philipp Müller
2778a1757f rtpmux: Use gst_element_class_set_static_metadata()
where possible. Avoids some string copies. Also re-indent
some stuff. Also some indent fixes here and there.
2012-12-16 16:36:39 +00:00
Olivier Crête
15dfdc58d4 rtpmux: Misc fix for 0.11
Convert the incoming caps before proxying them
Clear the last_pad when going to ready

tests: Implement accept_caps, don't leak event
2012-12-16 16:36:38 +00:00
Wim Taymans
83262be703 rtpmux: update for RTP buffer api changes 2012-12-16 16:36:38 +00:00
Sebastian Dröge
f17064a8ea rtpmux: Update for GST_PLUGIN_DEFINE() API changes 2012-12-16 16:36:34 +00:00
Wim Taymans
c86156ad8f rtpmux: fix compilation 2012-12-16 16:35:36 +00:00
Wim Taymans
6826bbb6da rtpmux: fix for caps api changes 2012-12-16 16:35:33 +00:00
Matej Knopp
bb345a584d rtpmux: Fix compiler warnings 2012-12-16 16:35:29 +00:00
Olivier Crête
af4e999c59 rtpmux: Unref non-forwarded events
Also, don't unref forwarded ones
2012-12-16 16:35:29 +00:00
Olivier Crête
a8789d1df1 rtpmux: resync iterator on resync 2012-12-16 16:35:29 +00:00
Olivier Crête
0c54079af5 rtpmux: Re-push sticky events on input pad change 2012-12-16 16:35:29 +00:00
Olivier Crête
21831b430f rtpmux: Don't leak gvalue from iterator 2012-12-16 16:35:29 +00:00
Wim Taymans
ccc4b960fc rtpmux: more porting 2012-12-16 16:35:26 +00:00
Olivier Crête
f20a6b1d16 rtpmux: port to 0.11 2012-12-16 16:35:26 +00:00
Wim Taymans
35b6668fb6 rtpmux: make request pads take _%u 2012-12-16 16:35:22 +00:00
Olivier Crête
aa3607ef5c rtpdtmfmux: Add last-stop to dtmf-event upstream events
Add the running time of the last outputted buffer to the
upstream "dtmf-event" events so that the dtmf source does not
leave a gap.
2012-12-16 16:35:22 +00:00
Edward Hervey
d137482fe5 rtpmux: Remove dead assignments 2012-12-16 16:35:22 +00:00
Stefan Kost
55aae6bfab rtpmux: add missing G_PARAM_STATIC_STRINGS flags
Canonicalize property names as needed.
2012-12-16 16:35:15 +00:00
Olivier Crête
9674d5cc23 rtpmux: Improve documentation
Add an example pipeline, and try to explain a bit more what it does.
2012-12-16 16:35:15 +00:00
Stefan Kost
ca27a279ba rtpdtmfmux: remove unused variable 2012-12-16 16:35:15 +00:00
Stefan Kost
c85dceeacb rtpdtmfmux: remove unused signal boilerplate 2012-12-16 16:35:15 +00:00
Stefan Kost
2353f8d852 rtpmux: no need to ref pad in _chain() 2012-12-16 16:35:15 +00:00
Youness Alaoui
e42d2eebcb rtpmux: Unlock the right mutex
The mutex locked is for the 'mux' object, but we unlock the
pad, which means that if the rtpmux gets a flush, then the
object lock will stay locked forever, causing it to freeze
the next time it tries to take it.

Fixes bug #627991
2012-12-16 16:35:15 +00:00
Olivier Crête
78d1ebac9e rtpmux: Add support for GstBufferList
Factor out most of the buffer handling and implement a chain_list
function. Also, the DTMF muxer has been modified to just have a
function to accept or reject a buffer instead of having to subclass
both chain and chain_list.
2012-12-16 16:35:15 +00:00
Olivier Crête
c00f14419b rtpmux: Don't leak invalid buffers 2012-12-16 16:35:15 +00:00
Tim-Philipp Müller
a45429d81d rtpmux: fix missing debug log message argument 2012-12-16 16:35:15 +00:00
Olivier Crête
4a8d0243b5 rtpdtmfmux: Add some debug messages 2012-12-16 16:35:14 +00:00
Olivier Crête
423ce98666 rtpdtmfmux: Remove stream-lock event handling 2012-12-16 16:35:14 +00:00
Olivier Crête
a4500c0e74 rtpdtmfmux: Update doc for simplification 2012-12-16 16:35:14 +00:00
Olivier Crête
70097866de rtpdtmfmux: Drop buffers on non-priority sinks when something is incoming on the priority sink 2012-12-16 16:35:14 +00:00
Olivier Crête
f6548fe9b6 rtpdtmfmux: Add priority sink pads 2012-12-16 16:35:14 +00:00
Olivier Crête
2bcea1537b rtpdtmfmux: Cleanup event function 2012-12-16 16:35:14 +00:00
Olivier Crête
8e58646f5c rtpmux: Aggregate incoming segments 2012-12-16 16:35:14 +00:00
Olivier Crête
7be57cac3a rtpdtmfmux: Update documentation 2012-12-16 16:35:14 +00:00
Olivier Crête
e590fc1f32 rtpmux: Simplify request pad creation 2012-12-16 16:35:14 +00:00
Benjamin Otte
2867e00225 rtpmux: gst_element_class_set_details => gst_element_class_set_details_simple 2012-12-16 16:35:10 +00:00
unknown
fb7266884d rtpmux: update the current_ssrc from the caps
Fixes #604101
2012-12-16 16:33:47 +00:00
Håvard Graff
eab65e84ca rtpmux: release pads when disposing
Because of an allocated priv (GstRTPMuxPadPrivate), the element will
leak memory if not gst_rtp_mux_release_pad() is called. This would
previously only happen if release_request_pad() was called explicitly,
somthing that should not be neccesary.

Fixes #604099
2012-12-16 16:33:46 +00:00
Wim Taymans
0d54122804 dtmfmux: method name cleanups 2012-12-16 16:33:46 +00:00
Olivier Crête
3841cc74cf rtpmux: Don't ignore requested pad name 2012-12-16 16:33:46 +00:00
Olivier Crête
d93295ff9d rtpmux: Remove empty finalize 2012-12-16 16:33:46 +00:00
Olivier Crête
5e90a4e86b rtpmux: Free the pad private data on pad release
Free the pad private data on pad release instead of using a weak ref,
which is not thread safe. Also, lock the content of the pad private using the element's
object lock.
2012-12-16 16:33:46 +00:00
Olivier Crête
4be63c9add rtpmux: Reject wrong caps 2012-12-16 16:33:46 +00:00
Olivier Crête
0111bafb3a rtpmux: Fix leak Fixed a leak discovered by Laurent Glayal <spegle@yahoo.fr> 2012-12-16 16:33:46 +00:00
Olivier Crête
fcc1522d2e rtpmux: Fix leak
Fixed a leak discovered by Laurent Glayal <spegle@yahoo.fr>
2012-12-16 16:33:46 +00:00
Olivier Crête
ff6686f1c7 rtpmux: Fix warning 2012-12-16 16:33:46 +00:00
Olivier Crête
00791f930b rtpmux: Set different caps depending on the input 2012-12-16 16:33:46 +00:00
Olivier Crête
ed0b407038 rtpmux: Only free pad private when pad is disposed 2012-12-16 16:33:45 +00:00
Olivier Crête
92bb5199ac rtpmux: Remove useless caps mangling 2012-12-16 16:33:45 +00:00
Olivier Crête
3ccf3217fe rtpmux: Rename variable for more clarity 2012-12-16 16:33:45 +00:00
Olivier Crête
4b958f6d8d rtpmux: Use GST_BOILERPLATE 2012-12-16 16:33:45 +00:00
Olivier Crête
abe57be248 rtpmux: Do the includes locally 2012-12-16 16:33:45 +00:00
Olivier Crête
05844c89e9 rtpmux: Add GST_DEBUG_FUNCPTRs 2012-12-16 16:33:45 +00:00
Olivier Crête
fd102b95ab rtpdtmfmux: Release locked pad on release_pad
Release the special pad if the pad is removed from the muxer.
2012-12-16 16:33:45 +00:00
Laurent Glayal
00f8bab712 rtpdtmfmux: Release special on pad dispose
Fixes #577690
2012-12-16 16:33:45 +00:00
Stefan Kost
a4a22454dc docs: various doc fixes
No short-desc as we have them in the element details.
Also keep things (Makefile.am and sections.txt) sorted.
Reword ambigous returns. No text after since please.
2012-12-16 16:33:41 +00:00
Olivier Crête
7d4395a910 rtpmux: Move rtpmux from gst-plugins-farsight to -bad 2012-12-16 16:33:27 +00:00
Olivier Crête
68215752f4 rtpmux: Re-indent to Gst style 2012-12-16 16:33:24 +00:00
Olivier Crête
c7d0809434 rtpmux: Document rtp muxer a bit 2012-12-16 16:33:20 +00:00
Laurent Glayal
47c7a93df2 rtpmux: Add signals before stream lock and after unlocking 2012-12-16 16:33:17 +00:00
Olivier Crête
f1656ed8b0 rtpmux: Let ssrc through getcaps 2012-12-16 16:33:14 +00:00
Olivier Crête
1529dffaf9 rtpmux: Rename have_base to have_ts_base 2012-12-16 16:33:11 +00:00
Olivier Crête
57563517bd rtpmux: Protect the seqnum with object lock in rtpmux 2012-12-16 16:33:08 +00:00
Olivier Crête
d3237eaf95 rtpmux: Remove unused sink_ts_base 2012-12-16 16:33:04 +00:00
Olivier Crête
cc23958183 rtpmux: Have getcaps to force the same clockrate on all pads 2012-12-16 16:33:01 +00:00
Olivier Crête
dc36590d0c rtpmux: Validate RTP data in RTP Mux 2012-12-16 16:32:57 +00:00
Olivier Crête
360c8d4f1d rtpmux: Remove unused clock-rate property 2012-12-16 16:32:54 +00:00
Olivier Crête
b86232d0dc rtpmux: Clarify locking in rtpdtmfmux 2012-12-16 16:32:50 +00:00
Laurent Glayal
4b607cdda5 rtpmux: Missing format parameter 2012-12-16 16:32:47 +00:00
Håvard Graff
b313c80367 rtpmux: Update seqnum base in rtp muxer
With help from Wim
2012-12-16 16:32:43 +00:00
Håvard Graff
c479f90274 rtpmux: Fix some more leaks 2012-12-16 16:32:40 +00:00
Håvard Graff
1b5e769e0b rtpmux: Fix leak 2012-12-16 16:32:37 +00:00
Olivier Crête
5cbb0de823 rtpmux: Don't unref caps we don't know (thanks Wim) 2012-12-16 16:32:32 +00:00
Olivier Crête
cebf506949 rtpmux: Put per-buffer debug at level LOG 2012-12-16 16:32:29 +00:00
Olivier Crête
3c12a423b7 rtpmux: Make debug print accurate 2012-12-16 16:32:25 +00:00
Olivier Crête
c49f4c87c6 rtpmux: Set our caps on the buffers 2012-12-16 16:32:22 +00:00
Olivier Crête
ec63da9366 rtpmux: Take the clock-base stored from the last setcaps 2012-12-16 16:32:18 +00:00
Olivier Crête
674c074114 rtpmux: Store the clock-base on setcaps 2012-12-16 16:32:15 +00:00
Olivier Crête
90264b9686 rtpmux: Add padprivate to the request pads 2012-12-16 16:32:11 +00:00
Olivier Crête
15d661ba3e rtpmux: Make indentation more correct 2012-12-16 16:31:56 +00:00
Olivier Crête
3a7d09a749 rtpmux: Fix typo 2012-12-16 16:31:53 +00:00
Olivier Crête
91aef3ec5e rtpmux: Set seqnum-base and clock-base in caps from rtpmuxer 2012-12-16 16:31:50 +00:00
Zeeshan Ali
6ea5ca354d rtpmux: more debug
20070815135038-f3f1e-9c7a5490a525c6e8753cb1b8c03354df99132b5c.gz
2012-12-16 16:31:46 +00:00
Youness Alaoui
f0e209b638 rtpmux: missing comment
20070820185032-4f0f6-0ab67b6ac40dd4e35a8fe53f3cb6daff65ce43b9.gz
2012-12-16 16:30:33 +00:00
Olivier Crete
3ed5590da6 rtpmux: Make buffer writable before writing into it
20070712195336-3e2dc-91a5fb797cfa4919d4e2f9a728c6d6fbd3b83d93.gz
2012-12-16 16:30:31 +00:00
Olivier Crete
dd13f7c8ef rtpmux: Set pads active when adding them to a potentially running element
20070706202459-3e2dc-a3731f885725594def0a7be997fc7b3a739ee967.gz
2012-12-16 16:30:27 +00:00
Olivier Crete
1c5075f927 rtpmux: Fix multiple ref leaks (patches by SP GLE)
20070607120121-3e2dc-061e9ef7a47b1b84fa8f8092f4b8bcc0e6db8c8c.gz
2012-12-16 16:30:23 +00:00