Commit graph

6823 commits

Author SHA1 Message Date
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