Commit graph

16240 commits

Author SHA1 Message Date
Thiago Santos
142d8e2d23 qtdemux: respect qt segments in push-mode for empty starts
In push-mode it is hard to support qt segments overall but it is
possible to support when the file isn't heavily edited but just contain
a segment to indicate a gap at the beginning. This also allows properly
timestamping data that has negative DTS in push-mode.

It is relevant to support those for 2 scenarios:

1) fragmented streaming
2) HTTP playback of 'regular' mp4

https://bugzilla.gnome.org/show_bug.cgi?id=753484
2015-11-09 11:49:27 -03:00
Nirbheek Chauhan
e686ec0c97 pulse: Don't leak caps and structures in the device provider 2015-11-05 17:54:48 +00:00
Arun Raghavan
7e22ea5d5a rtpmanager: Document properties that are expressed in bits per second
This changed in 928cd110bc and
73c0c2920f but was not documented.

https://bugzilla.gnome.org/show_bug.cgi?id=747863
2015-11-05 09:48:59 +05:30
Arun Raghavan
e9692e4207 rtpmanager: Trivial gst-indent fixes 2015-11-05 09:48:59 +05:30
Philippe Normand
9f0c22e891 qtdemux: support for cenc auxiliary info parsing outside of moof box
When the cenc aux info index is out of moof boundaries, keep track of
it and parse the beginning of the mdat box, before the first sample.

https://bugzilla.gnome.org/show_bug.cgi?id=755614
2015-11-04 15:29:10 +00:00
Sebastian Dröge
ed20b9ab90 matroskademux: Use codecutils helpers for creating Opus caps
Also fix up codec data with values from the container.

https://bugzilla.gnome.org/show_bug.cgi?id=757152
2015-11-03 20:35:27 +02:00
Sebastian Dröge
2d98348abb matroskademux: There is no multistream field for Opus anymore
https://bugzilla.gnome.org/show_bug.cgi?id=757152
2015-11-03 20:35:27 +02:00
Sebastian Dröge
c6f6092f2f matroska/webmmux: Support Opus in webmmux and VP9 in matroskamux
https://bugzilla.gnome.org/show_bug.cgi?id=729950
2015-11-03 20:35:27 +02:00
Sebastian Dröge
d620ca4740 matroskademux: Parse and handle CodecDelay, SeekPreroll and DiscardPadding
https://bugzilla.gnome.org/show_bug.cgi?id=727305
2015-11-03 20:35:27 +02:00
Sebastian Dröge
52122f9206 matroskamux: Write CodecDelay, DiscardPadding and SeekPreroll for Opus
And also adjust timestamps and durations according to the codec delay, both
should include it for whatever reason.

https://bugzilla.gnome.org/show_bug.cgi?id=727305
2015-11-03 20:35:27 +02:00
Sebastian Dröge
b34574d829 matroskamux: Opus headers are not in-band
https://bugzilla.gnome.org/show_bug.cgi?id=727305
2015-11-03 20:35:27 +02:00
Arun Raghavan
7b17615da8 v4l2: Set O_CLOEXEC on the device fd
This is needed to make sure that child processes don't inherit the video
device fd which can cause problems with some drivers.
2015-11-03 22:02:38 +05:30
Luis de Bethencourt
9fee2c7c9f rtpmanager: switch G_GINT64_FORMAT for GST_STIME_ARGS
No need to use G_GINT64_FORMAT for potentially negative values of
GstClockTimeDiff. Since 1.6 these can be handled with GST_STIME_ARGS.
Plus it creates more readable values in the logs.

https://bugzilla.gnome.org/show_bug.cgi?id=757480
2015-11-03 14:47:00 +00:00
Luis de Bethencourt
d4f094f587 rtpmanager: use GST_STIME_ARGS for GstClockTimeDiff
No need to manually handle negative values of diff, GST_STIME_ARGS does
exactly this.
2015-11-03 14:26:32 +00:00
Luis de Bethencourt
ae729440b1 videomixer: use GST_STIME_ARGS for GstClockTimeDiff
No need to manually handle negative values of diff, GST_STIME_ARGS does
exactly this.
2015-11-02 16:53:20 +00:00
Luis de Bethencourt
d90347edf2 deinterlace: use GST_STIME_ARGS for GstClockTimeDiff
No need to manually handle negative values of diff, GST_STIME_ARGS is
available for this.
2015-11-02 16:45:34 +00:00
Ravi Kiran K N
133e7bab32 audiochebband: Fix typo in example pipeline
Fix typo in example pipeline.

https://bugzilla.gnome.org/show_bug.cgi?id=757340
2015-10-30 20:20:12 +00:00
Nirbheek Chauhan
5f720cc3cb v4l2: fix double-unref in the v4l2 device provider 2015-10-28 19:09:28 +00:00
Nicola Murino
65d08e2154 matroskamux: don't drop JPEG frames that only have PTS but no DTS set
For the MS/VfW codec ids, we want to write DTS timestamps instead
of PTS because that's what everyone else seems to do (and it's also
how it is in AVI). So for those input formats we use the buffer DTS
instead of the PTS. However, if there's no DTS set but only the PTS
then just take the PTS instead of dropping the input buffer. This
is useful especially for I-frame only codecs like JPEG and huffyuv,
but should also be fine as fallback in general.

Fixes regression with input JPEG frames that only have PTS set on them.

https://bugzilla.gnome.org/show_bug.cgi?id=756967
2015-10-28 19:02:44 +00:00
George Kiagiadakis
a4c8bdfb3c tests/check/splitmux: test that the release_pad vfunc of splitmuxsink actually releases pads
https://bugzilla.gnome.org/show_bug.cgi?id=753622
2015-10-28 22:39:44 +11:00
George Kiagiadakis
4a78048cc5 splitmuxsink: do not destroy the multiqueue & muxer when going to NULL
Instead, delay it until all request pads have been released. This is
because the release_pad() vfunc requires the multiqueue and muxer to
be there in order to release their request pads as well. If those
elements are destroyed earlier, release_pad() does not work, no
pads are released and some resources are leaked.

https://bugzilla.gnome.org/show_bug.cgi?id=753622
2015-10-28 22:39:44 +11:00
Sebastian Dröge
cbf181f31b matroskademux: Read buffer timestamp *after* actually setting it
https://bugzilla.gnome.org/show_bug.cgi?id=756809
2015-10-27 18:01:32 +02:00
Sebastian Dröge
ae3b903019 scaletempo: Fix handling of rate < 0
We have to reverse all samples in a buffer before processing them to properly
have continuous data from one buffer to another. As a result we will have a
negative applied rate and a rate of 1.0.

Also make sure that input buffers are correctly clipped to the segment,
otherwise our calculations are going to go wrong.

Also copy over the segment event's sequence number to the output segment while
we're at it.

https://bugzilla.gnome.org/show_bug.cgi?id=757033
2015-10-27 17:16:41 +02:00
Thiago Santos
dc0e2281b9 deinterlace: break as soon as non-interlaced if found
It looks for a non-interlaced entry on the filter caps, break
as soon as one is found to avoid wasting cpu
2015-10-25 11:02:34 -03:00
Thiago Santos
82d62b9edd deinterlace: implement accept-caps
Implement accept-caps handler to avoid doing a full caps query
downstream to handle it.

This commit implements accept-caps as a simplification of the _getcaps
function, so it exposes the same limitations that getcaps would.
For example, not accepting renegotiation to caps with capsfeatures when
it was last configured to a caps that it has to deinterlace.
2015-10-25 11:01:45 -03:00
Thiago Santos
cf830a55b1 tests: deinterlace: fix small typo in comment 2015-10-25 10:55:55 -03:00
Jan Schmidt
48d810ea26 check: Dist splitvideo0[012].ogg test files. 2015-10-26 00:41:51 +11:00
Sebastian Dröge
1e0b9b9853 scaletempo: Add support for F64 2015-10-23 20:16:17 +03:00
Mischa Spiegelmock
cdd7091c1c docs: Minor fixes in various places
https://bugzilla.gnome.org/show_bug.cgi?id=756996
2015-10-23 10:42:19 +03:00
Luis de Bethencourt
25ddf9e6ae goom: remove compiler trick
After commit 2cb6cfed22 there is no need to
trick the compiler anymore about the usage of variable cpuFlavour.
2015-10-21 17:57:22 +01:00
Tim-Philipp Müller
ff18953bcd Automatic update of common submodule
From b99800a to b319909
2015-10-21 14:35:02 +01:00
Ravi Kiran K N
4089ce9513 audiofx: remove unused variable
Remove unsued variable have_coeffs in audiofxbaseiirfilter

https://bugzilla.gnome.org/show_bug.cgi?id=756905
2015-10-21 16:18:46 +03:00
Sebastian Dröge
b8b25e8104 Use new GST_ENABLE_EXTRA_CHECKS #define
https://bugzilla.gnome.org/show_bug.cgi?id=756870
2015-10-21 14:34:58 +03:00
Sebastian Dröge
9aa12cf747 Automatic update of common submodule
From 9aed1d7 to b99800a
2015-10-21 14:25:55 +03:00
Tim-Philipp Müller
ff422c112f flvdemux: relax creation time parsing
Parse wrong timestamps like we used to write as well,
e.g. 10:9:42, and the hour might be without a leading
zero in any case.
2015-10-21 11:53:09 +01:00
Tim-Philipp Müller
31b61f3add flvdemux: fix indentation 2015-10-21 11:45:35 +01:00
Tim-Philipp Müller
a6eb0e5489 flvdemux: extract both creation date and time
Before we only extracted the date part.
2015-10-21 11:45:14 +01:00
Tim-Philipp Müller
5413fd5f20 flvmux: fix writing of creation time
Don't write time as e.g. 11:9:42
2015-10-21 11:16:01 +01:00
Thiago Santos
539ebd0f42 rtpj2kpay: update fragment offset
It was always being set to 0, making the resulting stream broken
for the receiver

https://bugzilla.gnome.org/show_bug.cgi?id=756422
2015-10-19 16:53:59 -03:00
Ryan Hendrickson
fc203a4bd7 qtmux: Don't unconditionally use strnlen()
It's not available on older OSX and we can as well use memchr() here.

https://bugzilla.gnome.org/show_bug.cgi?id=756154
2015-10-19 15:37:34 +03:00
Vineeth TM
0cefb6722b auparse: Fix event memory leak
Free the event after being handled to prevent memory leak.

https://bugzilla.gnome.org/show_bug.cgi?id=756799
2015-10-19 10:30:24 +01:00
Tim-Philipp Müller
d238f080fb qtmux: unify raw audio caps into a single caps structure 2015-10-19 09:14:19 +01:00
Reynaldo H. Verdejo Pinochet
82bffe3eef qtdemux: add support for FFV1 coded streams in mov
https://bugzilla.gnome.org/show_bug.cgi?id=752495
2015-10-15 10:38:34 -07:00
Sebastian Dröge
51adc9d889 souphttpsrc: EOS immediately if we have an empty seek segment
https://bugzilla.gnome.org/show_bug.cgi?id=748316
2015-10-14 16:56:26 +03:00
Stavros Vagionitis
21c6da6764 souphttpsrc: Make non-inclusive segment boundaries inclusive
The problem is that the filesrc and souphttpsrc are behaving
differently regarding the calculation of the segment boundaries. The
filesrc is using a non-inclusive boundaries, while the souphttpsrc
uses inclusive. Currently the hlsdemux calculates the boundaries as
inclusive, so for this reason there is no problem with the souphttpsrc,
but there is an issue in the filesrc.

The GstSegment is non-inclusive, so the proposed solution is to use
non-inclusive boundaries in the hlsdemux in order to be consistent.
Make the change in the hlsdemux, will break the souphttpsrc, which
will expect inclusive boundaries, but the hlsdemux will offer
non-inclusive. This change makes sure that the non-inclusive
boundaries are converted to inclusive.

https://bugzilla.gnome.org/show_bug.cgi?id=748316
2015-10-14 16:56:22 +03:00
Graham Leggett
af25e3cc93 souphttpclientsink: Add the retry and retry-delay properties
These allow a failed request to be retried after the given number of seconds
instead of failing the pipeline. Take account of the Retry-After header if
present. Add retries parameter that controls the number of times an HTTP
request will be retried before failing.

https://bugzilla.gnome.org/show_bug.cgi?id=756318
2015-10-14 15:23:00 +03:00
Guillaume Desmottes
360a6509c7 qtdemux: fix caps leak
If the QtDemuxStream are re-used they may already have caps which used
to be leaked.

Reproduced using the
validate.dash.playback.seek_forward.dash_exMPD_BIP_TC1 validate
scenario.

https://bugzilla.gnome.org/show_bug.cgi?id=756561
2015-10-14 14:42:19 +03:00
Vineeth TM
8283337e73 qtdemux: Fix taglist memory leak
Free the stream and its sub items instead of just the stream

https://bugzilla.gnome.org/show_bug.cgi?id=756544
2015-10-14 10:22:19 +03:00
Thibault Saunier
ed079b9e74 qtmux: Allow negotiating to S8 as a raw format but stop making it best choice
Negotiation to audio/x-raw,format=S8 was not possible because S8 does
not have a bit order so we ended up doing `if (!entry.fourcc) goto refuse_caps;`

https://bugzilla.gnome.org/show_bug.cgi?id=756387
2015-10-13 21:24:10 +01:00
Thibault Saunier
6bfee34b93 qtmux: Add prores support
https://bugzilla.gnome.org/show_bug.cgi?id=756388
2015-10-13 21:24:10 +01:00