Sebastian Dröge
7f1f777b92
dashdemux: Download any sync-sample following the moof directly in key-units only mode
...
We don't have to do yet another additional request but can just download the
data directly.
Also unify the key-unit only mode buffer pushing and extract it into its own
function now that it became more complicated.
https://bugzilla.gnome.org/show_bug.cgi?id=741104
2016-08-11 11:56:55 +02:00
Sebastian Dröge
f8eddabe29
dashdemux: If a fragment contains no sync samples, disable key-unit mode
...
https://bugzilla.gnome.org/show_bug.cgi?id=741104
2016-08-11 11:56:55 +02:00
Sebastian Dröge
cfad48ce5a
dashdemux: Remember if for a stream we could do key-units only mode
...
This makes sure we don't even try going into that mode if we previously saw
that the stream does not have the suitable metadata.
https://bugzilla.gnome.org/show_bug.cgi?id=741104
2016-08-11 11:56:55 +02:00
Sebastian Dröge
b936c00f51
dashdemux: Also allow key-unit only mode if (some) sample flags are given by trex but we can still find sync frames
...
https://bugzilla.gnome.org/show_bug.cgi?id=741104
2016-08-11 11:56:55 +02:00
Sebastian Dröge
47ef88f20e
dashdemux: Use chunked downloading for the moof in KEY_UNITS mode
...
Allows us to reuse the HTTP connection and reduce latencies a lot.
https://bugzilla.gnome.org/show_bug.cgi?id=741104
2016-08-11 11:56:55 +02:00
Sebastian Dröge
a9e38d3fec
adaptivedemux: Add API for allowing subclasses to download URLs in chunks
...
This allows to gradually download part of a fragment when the final size is
not known and only a part of it should be downloaded. For example when only
the moof should be parsed and/or a single keyframe should be downloaded.
https://bugzilla.gnome.org/show_bug.cgi?id=741104
2016-08-11 11:56:55 +02:00
Sebastian Dröge
7b4fe1e02f
dashdemux: Mark every first buffer of moov, sidx, moof and mdat as DISCONT in keyframe-only mode
...
We need to mark every first buffer of a key unit as discont, and also every
first buffer of a moov and moof. This ensures that qtdemux takes note of our
buffer offsets for each of those buffers instead of keeping track of them
itself from the first buffer. We need offsets to be consistent between moof
and mdat
https://bugzilla.gnome.org/show_bug.cgi?id=741104
2016-08-11 11:56:55 +02:00
Sebastian Dröge
12c2415251
dashdemux: Only enable key-unit trick mode for video streams
...
https://bugzilla.gnome.org/show_bug.cgi?id=741104
2016-08-11 11:56:55 +02:00
Sebastian Dröge
9dd8789323
dashdemux: Only do keyframe-only playback if the corresponding seek flag is given
...
https://bugzilla.gnome.org/show_bug.cgi?id=741104
2016-08-11 11:56:55 +02:00
Sebastian Dröge
70bc183a52
dashdemux: Implement downloading of only sync samples
...
https://bugzilla.gnome.org/show_bug.cgi?id=741104
2016-08-11 11:56:55 +02:00
Sebastian Dröge
5b943135ac
dashdemux: Store parsed moof and extract offsets of sync samples in it
...
https://bugzilla.gnome.org/show_bug.cgi?id=741104
2016-08-11 11:56:55 +02:00
Sebastian Dröge
6dbfb1133c
dash: Add test for parsing a moof box
...
https://bugzilla.gnome.org/show_bug.cgi?id=741104
2016-08-11 11:56:55 +02:00
Sebastian Dröge
e3805e4a96
dash: Add unit test for ISOBFF box header parsing
...
https://bugzilla.gnome.org/show_bug.cgi?id=741104
2016-08-11 11:56:55 +02:00
Sebastian Dröge
fff814bbe5
dashdemux: Implement parsing of moof box
...
https://bugzilla.gnome.org/show_bug.cgi?id=741104
2016-08-11 11:56:54 +02:00
Sebastian Dröge
7d4f6ca0a9
dashdemux: Move code around to keep all sidx related functions together
...
https://bugzilla.gnome.org/show_bug.cgi?id=741104
2016-08-11 11:56:54 +02:00
Sebastian Dröge
c4ad30d6b4
dashdemux: Store box fourccs in the header at a central place
...
https://bugzilla.gnome.org/show_bug.cgi?id=741104
2016-08-11 11:56:54 +02:00
Sebastian Dröge
0b0a1a52d3
dashdemux: Implement parsing of ISOBMFF boxes
...
https://bugzilla.gnome.org/show_bug.cgi?id=741104
2016-08-11 11:56:54 +02:00
Sebastian Dröge
37ff8abe1c
dash: Add helper for parsing box headers
...
https://bugzilla.gnome.org/show_bug.cgi?id=741104
2016-08-11 11:56:54 +02:00
xlazom00
00ac1c7eb4
x265enc: Enable aspect ratio
...
x265 encoder need aspectRatioIdc == X265_EXTENDED_SAR if we want to use
sarWidth/sarHeight
https://bugzilla.gnome.org/show_bug.cgi?id=769716
2016-08-11 10:19:56 +02:00
Josep Torra
ee5aa3d8b5
openjpegenc: use the corrent enumeration
...
Fixes the following error when building in osx.
error: implicit conversion from enumeration type
'GstJPEG2000Colorspace' to different enumeration type
'GstJPEG2000Sampling'
2016-08-08 13:10:12 +02:00
Sebastian Dröge
3db0fa37b7
amc: Fix call to realloc() to allocate the correct size of items
2016-08-08 11:29:04 +02:00
Tim-Philipp Müller
31fffdad10
fdkaac: actually build and dist
2016-08-07 20:53:30 +01:00
xlazom00
94d11f87c7
hls, timecode: fix linking
...
https://bugzilla.gnome.org//show_bug.cgi?id=769587
2016-08-07 16:45:25 +01:00
Sebastian Dröge
cb20432f9f
fdkaac: Add FDK AAC based decoder element
...
Missing is support for error concealment, etc.
2016-08-07 15:42:15 +03:00
Sebastian Dröge
ff83eceb13
fdkaac: Add FDK AAC based encoder element
...
This currently only handles LC profile and exposes a bitrate property, but
handles up to 7.1 channels. See TODO list for missing features.
2016-08-07 15:41:04 +03:00
Sebastian Dröge
24501c6358
fdkaac: Initial plugin skeleton
2016-08-07 15:31:09 +03:00
Bernhard Miller
9171fa9c19
aiffparse: keep end_offset when seeking
...
After seeking in aiff files the information about the data end offset is
discarded, leading to audio artifacts with metadata chunks at the end of
a file.
This patch retains the end offset information after a seek event.
https://bugzilla.gnome.org//show_bug.cgi?id=769376
2016-08-06 16:47:27 +01:00
Tim-Philipp Müller
f991e09319
dvdspu: don't crash if video frame could not be mapped
...
As might happen with e.g. vaapi and the test file from
https://bugzilla.gnome.org/show_bug.cgi?id=736227
2016-08-06 16:17:06 +01:00
Edward Hervey
aea2c13fc1
Revert "dashdemux: When doing SIDX seeking, return instead of overriding the timestamp with 0 from the MPD seeking method"
...
This reverts commit 947656cfd2
.
This makes all dash seeking tests fail. Needs more testing to fully understand
what's going wrong. Revert ok'd by Sebastian
2016-08-05 09:16:58 +02:00
Vivia Nikolaidou
3072dd80d2
timecodewait: New element to wait for a specific timecode
...
timecodewait receives a timecode as an argument (either as string or as
GstVideoTimeCode - one is gst-launch-friendly and the other is code-friendly),
and it will drop all audio and video buffers until that timecode has been
reached.
https://bugzilla.gnome.org/show_bug.cgi?id=766419
2016-08-04 19:08:27 +03:00
Vivia Nikolaidou
a2c6e2b64a
timecodestamper: New element to attach SMPTE timecode to buffers
...
The timecodestamper element attaches a SMPTE timecode to each video buffer.
This timecode corresponds to the current stream time.
https://bugzilla.gnome.org/show_bug.cgi?id=766419
2016-08-04 19:08:27 +03:00
Vivia Nikolaidou
de1f42a284
decklinkvideosink: Add support for GstVideoTimeCode
...
The timecode will be fetched from the video buffer and outputted on the
decklink video sink.
https://bugzilla.gnome.org/show_bug.cgi?id=766419
2016-08-04 19:08:27 +03:00
Vivia Nikolaidou
8faa36e105
decklinkvideosrc: Add support for GstVideoTimeCode
...
The timecode will be fetched from the decklink source and attached to the
video buffer.
https://bugzilla.gnome.org/show_bug.cgi?id=766419
2016-08-04 19:08:27 +03:00
Matthew Waters
402ab38f07
glcolorconvert: add missing rgb16 and bgr16 video formats in switch
...
Fixes an assertion that code should not be reached
https://bugzilla.gnome.org/show_bug.cgi?id=769462
2016-08-04 23:16:14 +10:00
Jan Schmidt
f2dc791479
hls: Avoid potential NULL pointer dereference.
...
Fixes CID 1364753
2016-08-04 22:28:13 +10:00
Jan Schmidt
d78686f7d4
hls: Avoid coverity warning about access off the end of an array.
...
Fixes CID 1364755
2016-08-04 22:22:44 +10:00
Sebastian Dröge
947656cfd2
dashdemux: When doing SIDX seeking, return instead of overriding the timestamp with 0 from the MPD seeking method
...
We don't need to call the latter at all as we're definitely in this period and
the segment is selected via the SIDX.
This is especially important when doing SNAP seeks, as otherwise we would
always start from the beginning of the period (usually 0) again.
2016-08-04 15:10:02 +03:00
Luis de Bethencourt
2ed4135237
hls: m3u8: remove impossible condition
...
After the check in line 1,111, media->uri can't be NULL. So the two checks
for GST_HLS_MEDIA_TYPE_CLOSED_CAPTIONS are the same, removing the redundant
one which goes to cc_unsupported.
CID 1364752
2016-08-04 11:17:56 +01:00
Jan Schmidt
35c82fee32
hlsdemux: Don't output pending data after error
...
If the last_ret status is not OK, skip output
of any pending PCR scan buffer, similarly to how
the pending decryption buffer is handled above.
2016-08-04 04:53:50 +10:00
Jan Schmidt
07f49f15b1
adaptivedemux: On EOS, handle it before waking download loop
...
Otherwise, if the download loop wakes too quickly, it
might miss the last_ret value update from the processing
thread and loop again.
2016-08-04 04:29:38 +10:00
Jan Schmidt
2df53e5a7d
hlsdemux: Include config.h and add header in utils
...
In gsthlsdemux-util.c, include config.h before any
other headers, and add a copyright / license header.
2016-08-04 01:54:28 +10:00
Edward Hervey
51c5ff45de
tsdemux: Fix draining on wrong programs
...
When draining a program, we might send a newsegment event on the pads
that are going to be removed (and then the pending data).
In order to do that, calculate_and_push_newsegment() needs to know
what list of streams it should take into account (instead of blindly
using the current one).
All callers to calculate_and_push_newsegment() and push_pending_data()
can now specify the program on which to act (or NULL for the default
one).
2016-08-03 17:15:41 +02:00
Edward Hervey
e2b98a7721
tsdemux: Fix GAP synchronization without a valid PCR PID
...
For streams that don't have a valid PCR PID, we just use the latest
PTS from any given stream.
https://bugzilla.gnome.org/show_bug.cgi?id=608148
2016-08-03 17:15:41 +02:00
Michael Olbrich
36e6590335
tsdemux: handle pcr_pid == 0x1fff
...
Streams without PCR make senses in HLS, where the playlist timestamps
can be used to seek or calculate the duration.
https://bugzilla.gnome.org/show_bug.cgi?id=608148
2016-08-03 17:15:41 +02:00
Arnaud Vrac
7a3d189250
mpegtsdemux: do not abort playback when no PCR were found during initial scan
...
Seeking will not be possible in those streams but at least the can be
played. Note scanning is only done when tsdemux is configured in pull mode.
https://bugzilla.gnome.org/show_bug.cgi?id=608148
2016-08-03 17:15:41 +02:00
Arnaud Vrac
35a1720de1
mpegtsdemux: only wait for PCR when PCR pid is set
...
Streams without PCR make senses in HLS, where the playlist timestamps
can be used to seek or calculate the duration.
https://bugzilla.gnome.org/show_bug.cgi?id=608148
2016-08-03 17:15:40 +02:00
Jan Schmidt
ebab5b17f4
hls: Fix compiler warning for possibly uninit variable
2016-08-03 23:51:14 +10:00
Michael Olbrich
89727ee9a3
hlsdemux: seek all streams
2016-08-03 23:49:54 +10:00
Michael Olbrich
decafb5f4c
hlsdemux: simplify gst_hls_demux_seek()
...
Don't initialize current_sequence. It is always overwritten in the walk
loop.
2016-08-03 23:49:54 +10:00
Michael Olbrich
4704634f43
hlsdemux: don't download the last fragment when seeking beyond the end of the track
...
It's not used anyways.
2016-08-03 23:49:54 +10:00