Sebastian Dröge
1122698491
flvdemux: Add support for group-id in the stream-start event
2013-07-22 15:30:12 +02:00
Sebastian Dröge
6cc16da531
avidemux: Add support for group-id in the stream-start event
2013-07-22 15:30:12 +02:00
Mathieu Duponchelle
d67a671bfb
videomixer: use gst_util_uint64_scale*_round.
...
There could be a case where:
1) you do a new set_caps after buffers have been processed.
2) ts_offset gets set to a different value, eg 0.033333333
3) your pads get EOS, but the check dor that doesn't work
because you use ts_offset + a truncated value < segment.stop
4) so in the next collected, you end up comparing for example:
0.9999999999 > 1., which is false and means you don't send EOS.
Also adds scale_round in two other places where it potentially could
have caused problems.
2013-07-21 19:21:57 -04:00
Olivier Crête
96a8fb92e2
qtdemux: Add WRLE support
2013-07-19 14:58:30 -04:00
Tim-Philipp Müller
aa7d597120
qtdemux: make files from Vivotek camera play
...
Skip tracks of 'vivo' subtype with empty stsd instead of
erroring out saying that the file is broken.
https://bugzilla.gnome.org/show_bug.cgi?id=699791
2013-07-19 19:38:30 +01:00
Tim-Philipp Müller
ce52b319ff
qtmux: when streaming don't try to seek when stopping
...
It might cause errors in sinks that are not seekable and
have reported this (like e.g. fdsink)
https://bugzilla.gnome.org/show_bug.cgi?id=696228
2013-07-19 17:31:38 +01:00
Wim Taymans
bdd3c31902
qtdemux: simplify some helpers
...
Some helper functions are not needed anymore or can be simplified.
2013-07-19 17:26:54 +02:00
Wim Taymans
61a8937ced
qtdemux: for non-raw video, move palette in caps
...
We only need to append the palette to raw video buffers, non-raw video has the
palette in the caps still.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=704292
2013-07-19 17:14:46 +02:00
Arnaud Vrac
40ab78825c
qtdemux: nitpicking in esds parsing
2013-07-19 14:26:18 +02:00
Arnaud Vrac
d0d25a5e1f
qtdemux: set proper caps for mpeg-1 audio
...
Remove AAC specific fields from mpeg-1 audio caps, remove assumption
that the mpeg1 audio layer is 3, and set `parsed' field.
https://bugzilla.gnome.org/show_bug.cgi?id=704548
2013-07-19 14:26:08 +02:00
Arnaud Vrac
5def061d20
qtdemux: remove chapter stream
...
Remove all streams that are actually table of contents, since we will
never need the data after parsing them.
2013-07-18 11:48:12 +02:00
Arnaud Vrac
ae67c13416
qtdemux: send gap event for sparse streams in push mode
...
This allows to pre-roll at least if the next subtitle buffer
is far away.
2013-07-18 11:48:11 +02:00
Arnaud Vrac
1237898351
qtdemux: do not use indexes from sparse stream when seeking in push mode
...
This makes seeking more accurate in push mode, since the previous
keyframe on a sparse stream might be far away.
2013-07-18 11:48:11 +02:00
Arnaud Vrac
e561d12655
qtdemux: advertise subtitle streams as sparse
2013-07-18 11:48:11 +02:00
Arnaud Vrac
6e26f1d067
mastrokademux: do not push discont buffers if they aren't discont
...
Unset the discont flag instead of posssibly pushing a buffer with
a flag that's still set.
https://bugzilla.gnome.org/show_bug.cgi?id=682110
2013-07-17 18:10:11 +01:00
Wim Taymans
4c97701650
qtdemux: extract the palette from stsd
...
Sometimes a palette is inside the stsd, extract it instead of always using
the default one
2013-07-17 15:17:19 +02:00
Sebastian Dröge
9f73447229
goom2k1: Fix event handling and negotiate as soon as possible
2013-07-17 14:30:16 +02:00
Sebastian Dröge
78c7c16e9e
goom: Fix event handling and negotiate as soon as possible
2013-07-17 14:28:43 +02:00
Wim Taymans
6b82c89562
qtdemux: add support for WRAW
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=704292
2013-07-17 09:57:17 +02:00
Wim Taymans
f698483bb3
qtdemux: palette is appended to buffers, not in caps
...
Fix the palette handling, in 1.0 we append the palette to the buffer instead of
placing it on the caps.
See also https://bugzilla.gnome.org/show_bug.cgi?id=704292
2013-07-17 09:57:16 +02:00
Olivier Crête
54c5a7f690
rtp: Use gst_adapter_take_buffer_fast() where possible in RTP payloaders
2013-07-16 15:37:49 -04:00
Arnaud Vrac
54bba4f60c
qtdemux: reset segment on flush stop
...
cca2f555d1
introduces a regression, where the demux segment is not
reset on flush stop, so the next upstream segment event will calculate
an invalid base time on the new segment to be sent downstream.
https://bugzilla.gnome.org/show_bug.cgi?id=704255
2013-07-16 10:47:20 +02:00
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