Commit graph

6732 commits

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