Reynaldo H. Verdejo Pinochet [Tue, 16 Aug 2016 22:35:39 +0000 (15:35 -0700)]
dvb/parsechannels: handle problems parsing dvbv5 config keys
Sebastian Dröge [Thu, 18 Aug 2016 12:28:33 +0000 (15:28 +0300)]
mplex: Don't start task (yet/again) on pad release if we're in READY or NULL
Fixes spurious segfault in unit test, where the task was started again during
shutdown when all pads were removed... and was then still running while the
element was finalized.
Sebastian Dröge [Thu, 18 Aug 2016 10:21:54 +0000 (13:21 +0300)]
dashdemux: In KEY_UNITS trick mode, download all I-frames and not only IDR
Carlos Rafael Giani [Mon, 8 Aug 2016 15:54:46 +0000 (17:54 +0200)]
rawparse: Fix and extend unit tests
* Add caps change test to unit tests
* Cleanup leftover buffers after each unit test
* Add missing rawvideoparse entry in .gitignore
https://bugzilla.gnome.org/show_bug.cgi?id=769637
Carlos Rafael Giani [Tue, 16 Aug 2016 07:31:40 +0000 (09:31 +0200)]
rawvideoparse: Compute plane offsets & strides if no custom ones are set
This is useful to ensure that the offsets and strides are computed if
only width, height, format etc. in the property config are set.
https://bugzilla.gnome.org/show_bug.cgi?id=769797
Sergei Saveliev [Tue, 16 Aug 2016 15:46:49 +0000 (18:46 +0300)]
avfassetsrc: Don't escape the URI another time in another location too
One location was forgotten in
a913a0b9679dd58945ad105d240db45595fdaba6
https://bugzilla.gnome.org/show_bug.cgi?id=767492
Matthew Waters [Tue, 16 Aug 2016 10:33:21 +0000 (20:33 +1000)]
gl/egl: fix inverted typedef
2b6841d had an inverted typedef defining ginptr and EGLAttrib. Fix that.
Sebastian Dröge [Tue, 16 Aug 2016 07:37:28 +0000 (10:37 +0300)]
wildmidi: Fix compilation with wildmidi 0.4
Old versions used char* for the data, new versions use int8_t*. They're often
not the same and differ in signedness.
Matthew Waters [Tue, 16 Aug 2016 06:51:02 +0000 (16:51 +1000)]
gl/build: add configure check for possibly missing EGLAttrib
Fixes the build on older android targets.
Song Bing [Wed, 13 Jul 2016 09:15:44 +0000 (17:15 +0800)]
gl/egl/dmabuf: Wrong attribute list type for EGL 1.5
For EGL 1.5 spec, the attribute list type should be EGLAttrib.
https://bugzilla.gnome.org/show_bug.cgi?id=768602
Vincent Penquerc'h [Mon, 15 Aug 2016 15:14:25 +0000 (16:14 +0100)]
glcontext: fix race joining thread on finalize
https://bugzilla.gnome.org/show_bug.cgi?id=769939
Jan Schmidt [Mon, 15 Aug 2016 14:40:53 +0000 (00:40 +1000)]
qt: Use wglShareLists() workaround unconditionally.
Sometimes wglCreateContextAttribsARB() exists, but
isn't functional (some Intel drivers), so it's
easiest to do the workaround unconditionally.
Jan Schmidt [Mon, 15 Aug 2016 06:37:44 +0000 (16:37 +1000)]
winks: Fix RGB frame flipping and postprocessing
Uncompressed RGB frames can be (usually are) bottom-up
layout in DirectShow, and the code to flip them wasn't
properly ported from 0.10. Fix it.
Fix post-processing of RGB buffers. We need a writable
buffer, but the requests pool is holding an extra ref.
This could use more fixing to use a buffer pool
Jan Schmidt [Fri, 12 Aug 2016 12:17:25 +0000 (22:17 +1000)]
winks: Give the ksvideosrc PRIMARY rank
It's the primary video source on Windows, so give it a
rank for autoplugging by camerabin and friends
Jan Schmidt [Fri, 12 Aug 2016 12:16:33 +0000 (22:16 +1000)]
winks: Fix swapped RGBx/RGB caps mapping, and endianness.
The RGBx and RGB format mappings were reversed.
What Windows calls RGB are laid out as BGR in our parlance, so
switch that too
Jan Schmidt [Mon, 8 Aug 2016 03:41:14 +0000 (13:41 +1000)]
qt: Move debug statement to after the category init
Don't output debug to an uninitialised debug category.
Sebastian Dröge [Thu, 11 Aug 2016 10:19:59 +0000 (12:19 +0200)]
dashdemux: Disable unit test for the time being
It uses random data streams but dashdemux nowadays actually looks into the
streams and doesn't like randomness very much. The tests should probably just
become validate tests on real streams.
https://bugzilla.gnome.org/show_bug.cgi?id=769553
Sebastian Dröge [Thu, 11 Aug 2016 10:11:22 +0000 (12:11 +0200)]
Revert "Revert "dashdemux: When doing SIDX seeking, return instead of overriding the timestamp with 0 from the MPD seeking method""
This reverts commit
aea2c13fc1672a7260679d706d0a084a34ba7531.
Sebastian Dröge [Thu, 4 Aug 2016 11:47:41 +0000 (14:47 +0300)]
dashdemux: When doing chunked downloading on SIDX, clip requests on the SIDX entry boundaries
https://bugzilla.gnome.org/show_bug.cgi?id=741104
Sebastian Dröge [Tue, 2 Aug 2016 05:47:55 +0000 (08:47 +0300)]
dashdemux: Collect average moof and first sync sample sizes
And always request those in the beginning so that ideally we get the moof and
the first sync sample all together with the first HTTP request.
https://bugzilla.gnome.org/show_bug.cgi?id=741104
Sebastian Dröge [Tue, 2 Aug 2016 05:35:26 +0000 (08:35 +0300)]
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
Sebastian Dröge [Fri, 29 Jul 2016 09:50:58 +0000 (12:50 +0300)]
dashdemux: If a fragment contains no sync samples, disable key-unit mode
https://bugzilla.gnome.org/show_bug.cgi?id=741104
Sebastian Dröge [Fri, 29 Jul 2016 09:32:50 +0000 (12:32 +0300)]
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
Sebastian Dröge [Fri, 29 Jul 2016 08:54:21 +0000 (11:54 +0300)]
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
Sebastian Dröge [Tue, 12 Jul 2016 17:09:52 +0000 (20:09 +0300)]
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
Sebastian Dröge [Tue, 12 Jul 2016 07:22:43 +0000 (10:22 +0300)]
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
Sebastian Dröge [Wed, 1 Jun 2016 11:02:11 +0000 (14:02 +0300)]
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
Sebastian Dröge [Thu, 28 Jul 2016 07:53:49 +0000 (10:53 +0300)]
dashdemux: Only enable key-unit trick mode for video streams
https://bugzilla.gnome.org/show_bug.cgi?id=741104
Sebastian Dröge [Tue, 31 May 2016 12:12:49 +0000 (15:12 +0300)]
dashdemux: Only do keyframe-only playback if the corresponding seek flag is given
https://bugzilla.gnome.org/show_bug.cgi?id=741104
Sebastian Dröge [Mon, 30 May 2016 09:09:34 +0000 (12:09 +0300)]
dashdemux: Implement downloading of only sync samples
https://bugzilla.gnome.org/show_bug.cgi?id=741104
Sebastian Dröge [Mon, 30 May 2016 08:15:03 +0000 (11:15 +0300)]
dashdemux: Store parsed moof and extract offsets of sync samples in it
https://bugzilla.gnome.org/show_bug.cgi?id=741104
Sebastian Dröge [Mon, 2 May 2016 14:11:31 +0000 (17:11 +0300)]
dash: Add test for parsing a moof box
https://bugzilla.gnome.org/show_bug.cgi?id=741104
Sebastian Dröge [Mon, 2 May 2016 13:03:56 +0000 (16:03 +0300)]
dash: Add unit test for ISOBFF box header parsing
https://bugzilla.gnome.org/show_bug.cgi?id=741104
Sebastian Dröge [Thu, 7 Apr 2016 18:33:51 +0000 (21:33 +0300)]
dashdemux: Implement parsing of moof box
https://bugzilla.gnome.org/show_bug.cgi?id=741104
Sebastian Dröge [Thu, 7 Apr 2016 10:34:57 +0000 (13:34 +0300)]
dashdemux: Move code around to keep all sidx related functions together
https://bugzilla.gnome.org/show_bug.cgi?id=741104
Sebastian Dröge [Thu, 7 Apr 2016 09:57:13 +0000 (12:57 +0300)]
dashdemux: Store box fourccs in the header at a central place
https://bugzilla.gnome.org/show_bug.cgi?id=741104
Sebastian Dröge [Mon, 28 Mar 2016 10:45:36 +0000 (13:45 +0300)]
dashdemux: Implement parsing of ISOBMFF boxes
https://bugzilla.gnome.org/show_bug.cgi?id=741104
Sebastian Dröge [Wed, 16 Mar 2016 11:48:09 +0000 (13:48 +0200)]
dash: Add helper for parsing box headers
https://bugzilla.gnome.org/show_bug.cgi?id=741104
xlazom00 [Wed, 10 Aug 2016 22:50:12 +0000 (22:50 +0000)]
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
Josep Torra [Mon, 8 Aug 2016 11:10:12 +0000 (13:10 +0200)]
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'
Sebastian Dröge [Mon, 8 Aug 2016 09:28:44 +0000 (11:28 +0200)]
amc: Fix call to realloc() to allocate the correct size of items
Tim-Philipp Müller [Sun, 7 Aug 2016 19:53:30 +0000 (20:53 +0100)]
fdkaac: actually build and dist
xlazom00 [Sat, 6 Aug 2016 23:31:23 +0000 (23:31 +0000)]
hls, timecode: fix linking
https://bugzilla.gnome.org//show_bug.cgi?id=769587
Sebastian Dröge [Sun, 7 Aug 2016 09:20:16 +0000 (12:20 +0300)]
fdkaac: Add FDK AAC based decoder element
Missing is support for error concealment, etc.
Sebastian Dröge [Sun, 7 Aug 2016 08:39:07 +0000 (11:39 +0300)]
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.
Sebastian Dröge [Sun, 7 Aug 2016 05:51:06 +0000 (08:51 +0300)]
fdkaac: Initial plugin skeleton
Bernhard Miller [Mon, 1 Aug 2016 09:45:30 +0000 (11:45 +0200)]
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
Tim-Philipp Müller [Sat, 6 Aug 2016 15:15:33 +0000 (16:15 +0100)]
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
Edward Hervey [Fri, 5 Aug 2016 07:16:58 +0000 (09:16 +0200)]
Revert "dashdemux: When doing SIDX seeking, return instead of overriding the timestamp with 0 from the MPD seeking method"
This reverts commit
947656cfd22b75f914d5abe0af82396787f67564.
This makes all dash seeking tests fail. Needs more testing to fully understand
what's going wrong. Revert ok'd by Sebastian
Vivia Nikolaidou [Tue, 31 May 2016 16:21:17 +0000 (19:21 +0300)]
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
Vivia Nikolaidou [Fri, 20 May 2016 15:17:52 +0000 (18:17 +0300)]
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
Vivia Nikolaidou [Sun, 15 May 2016 14:25:44 +0000 (17:25 +0300)]
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
Vivia Nikolaidou [Sun, 15 May 2016 13:04:14 +0000 (16:04 +0300)]
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
Matthew Waters [Thu, 4 Aug 2016 13:14:41 +0000 (23:14 +1000)]
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
Jan Schmidt [Thu, 4 Aug 2016 12:28:13 +0000 (22:28 +1000)]
hls: Avoid potential NULL pointer dereference.
Fixes CID
1364753
Jan Schmidt [Thu, 4 Aug 2016 12:21:16 +0000 (22:21 +1000)]
hls: Avoid coverity warning about access off the end of an array.
Fixes CID
1364755
Sebastian Dröge [Thu, 4 Aug 2016 11:42:34 +0000 (14:42 +0300)]
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.
Luis de Bethencourt [Thu, 4 Aug 2016 10:08:30 +0000 (11:08 +0100)]
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
Jan Schmidt [Wed, 3 Aug 2016 18:53:50 +0000 (04:53 +1000)]
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.
Jan Schmidt [Wed, 3 Aug 2016 18:29:38 +0000 (04:29 +1000)]
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.
Jan Schmidt [Wed, 3 Aug 2016 15:51:37 +0000 (01:51 +1000)]
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.
Edward Hervey [Wed, 13 Jul 2016 09:02:23 +0000 (11:02 +0200)]
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).
Edward Hervey [Tue, 12 Jul 2016 13:58:40 +0000 (15:58 +0200)]
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
Michael Olbrich [Tue, 31 May 2016 11:09:43 +0000 (13:09 +0200)]
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
Arnaud Vrac [Sun, 10 May 2015 18:10:49 +0000 (20:10 +0200)]
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
Arnaud Vrac [Sat, 9 May 2015 13:52:22 +0000 (15:52 +0200)]
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
Jan Schmidt [Tue, 2 Aug 2016 18:18:18 +0000 (04:18 +1000)]
hls: Fix compiler warning for possibly uninit variable
Michael Olbrich [Thu, 28 Jul 2016 12:22:02 +0000 (14:22 +0200)]
hlsdemux: seek all streams
Michael Olbrich [Wed, 25 May 2016 09:23:59 +0000 (11:23 +0200)]
hlsdemux: simplify gst_hls_demux_seek()
Don't initialize current_sequence. It is always overwritten in the walk
loop.
Michael Olbrich [Tue, 24 May 2016 13:23:12 +0000 (15:23 +0200)]
hlsdemux: don't download the last fragment when seeking beyond the end of the track
It's not used anyways.
Jan Schmidt [Tue, 12 Jul 2016 13:05:55 +0000 (23:05 +1000)]
hlsdemux: Add support for ID3 tag parsing
Parse start PTS out of the ID3 tags in
audio fragments. Informational only for now.
Jan Schmidt [Wed, 24 Feb 2016 05:57:16 +0000 (16:57 +1100)]
hlsdemux: Do some reading and dumping of PCRs
Read PCRs out of the MPEG-TS stream in a basic way
and (for now) just log them
Jan Schmidt [Fri, 4 Mar 2016 16:08:55 +0000 (03:08 +1100)]
hlsdemux: Only use the primary stream for bitrate selection.
When playing alternate rendition auxilliary streams, ignore
them in bitrate measurement (for now).
Jan Schmidt [Fri, 15 Jul 2016 06:24:17 +0000 (16:24 +1000)]
hlsdemux: Only select video and audio streams by default
Ignore subtitle streams for now, because the
different fragment duration causes problems
switching bitrates w/ decodebin2 group draining.
Jan Schmidt [Wed, 24 Feb 2016 14:58:25 +0000 (01:58 +1100)]
hlsdemux: Publish all media for alternate renditions.
Create an output stream for each media when alternate renditions
are present. Update the manifests for all those streams, and
make sure that typefinding is still done for files smaller than 2KB
such as small WebVTT files.
Jan Schmidt [Mon, 7 Mar 2016 14:24:20 +0000 (01:24 +1100)]
hlsdemux: Adjust downstream buffer offsets
When fetching a byte-region from a server resource,
adjust the downstream buffer offsets so that downstream
doesn't know. This is because id3demux insists on the
first offset being 0. Later we might strip ID3 headers
entirely and this will be unneeded.
Jan Schmidt [Tue, 8 Mar 2016 16:07:22 +0000 (03:07 +1100)]
hlsdemux: Choose the default variant and track it when updating
Modify playlist updating to track information across updates
better, although still hackish.
When connection_speed == 0, choose the default variant
not the first one in the (now sorted) variant list, as that
will have the lowest bitrate.
Tim-Philipp Müller [Sat, 5 Dec 2015 11:12:33 +0000 (11:12 +0000)]
hlsdemux: move variant list handling over to new master playlist code
Adapt hlsdemux for the m3u8 playlist changes.
Tim-Philipp Müller [Fri, 27 Nov 2015 19:26:02 +0000 (19:26 +0000)]
hls: m3u8: Rework m3u8 parsing and storage.
Make M3U8 and GstM3U8MediaFile refcounted. The contents
of it and GstM3U8MediaFile are pretty much immutable
already, but if we make it refcounted we can just
return a ref to the media file from _get_next_fragment()
instead of copying over all fields one-by-one, and then
copying them all into the adaptive stream structure fields again.
Move state from client into m3u8 structure. This will
be useful later when we'll have multiple media playlists
being streamed at the same time, as will be the case with
alternative renditions.
This has the downside that we need to copy over some
state when we switch between variant streams.
The GstM3U8Client structure is gone, and main/current
lists are not directly in hlsdemux. hlsdemux had as
many CLIENT_LOCK/UNLOCK as the m3u8 code anyway...
Haihua Hu [Wed, 27 Jul 2016 01:28:23 +0000 (09:28 +0800)]
qmlglsrc: Add qmlglsrc unit test example
https://bugzilla.gnome.org/show_bug.cgi?id=768160
Haihua Hu [Wed, 27 Jul 2016 00:16:47 +0000 (08:16 +0800)]
qt: implement qmlglsrc for qml view grab
[Matthew Waters]: gst-indent sources
https://bugzilla.gnome.org/show_bug.cgi?id=768160
Haihua Hu [Wed, 27 Jul 2016 02:55:01 +0000 (10:55 +0800)]
glwindow: Fix glimagesink cannot show frame when connect to qmlglsrc
When connect to qmlglsrc, x11 event loop will be replace by qt event loop
which will cause the window cannot receive event from xserver, such as resize
https://bugzilla.gnome.org/show_bug.cgi?id=768160
Hyunjun Ko [Tue, 2 Aug 2016 08:21:20 +0000 (17:21 +0900)]
glupload: Use bufferpool to allocate new buffer in GLTextureUploadMeta
To improve performace of upload with GLTextureUploadMeta,
use bufferpool instead of allocating new buffer every time.
https://bugzilla.gnome.org/show_bug.cgi?id=769293
Matthew Waters [Wed, 27 Jul 2016 04:48:50 +0000 (14:48 +1000)]
glwindow: move unsetting queue_resize to _resize() instead of _draw()
Makes infinitely more sense and implementation were expecting that behaviour
anyway and would enter a resize, draw, resize, draw, ... cycle instead of only
resizing once.
Sebastian Dröge [Wed, 3 Aug 2016 06:14:07 +0000 (09:14 +0300)]
adaptivedemux: Never ever hold the manifest lock while changing the source element state
Otherwise we will deadlock in various situations that take the manifest lock
from the streaming thread or when shutting down or ...
Sebastian Dröge [Tue, 2 Aug 2016 14:07:37 +0000 (17:07 +0300)]
aiffparse: In PUSH mode we will never get the ID3 tags as they are at the end of the file
This previously did not fail as before we didn't get any tags at all in PUSH
mode, now we get the bitrates.
Carlos Rafael Giani [Tue, 2 Aug 2016 11:48:43 +0000 (13:48 +0200)]
aiffparse: Add tags for container format and bitrate
The bitrate is added to help downstream elements (like uridecodebin)
figure out a proper network buffer size
https://bugzilla.gnome.org/show_bug.cgi?id=769389
Alex Ashley [Wed, 20 Jan 2016 16:42:24 +0000 (16:42 +0000)]
tests: dashdemux: add test for gst_mpd_client_get_maximum_segment_duration
Add a test of the gst_mpd_client_get_maximum_segment_duration() function
to check that it first checks the MPD@maxSegmentDuration and then falls
back to checking all of the segment durations.
https://bugzilla.gnome.org/show_bug.cgi?id=753751
Alex Ashley [Wed, 24 Feb 2016 15:54:54 +0000 (15:54 +0000)]
dashdemux: include segment duration when calculating seek range
The gst_dash_demux_get_live_seek_range () function returns a stop value
that is beyond the available range. The functions
gst_mpd_client_check_time_position() and
gst_mpd_client_get_next_segment_availability_end_time() in
gstmpdparser.c include the segment duration when checking if a segment
is available. The gst_dash_demux_get_live_seek_range() function
in gstdashdemux.c ignores the segment duration.
According to the DASH specification, if maxSegmentDuration is not present,
then the maximum Segment duration is the maximum duration of any Segment
documented in the MPD.
https://bugzilla.gnome.org/show_bug.cgi?id=753751
Vincent Penquerc'h [Wed, 24 Feb 2016 15:52:41 +0000 (15:52 +0000)]
adaptivedemux: retry once on 4xx/5xx in certain conditions
This helps catch those 404 server errors in live streams when
seeking to the very beginning, as the server will handle a
request with some delay, which can cause it to drop the fragment
before sending it.
https://bugzilla.gnome.org/show_bug.cgi?id=753751
Alex Ashley [Wed, 24 Feb 2016 15:47:09 +0000 (15:47 +0000)]
adaptivedemux: expose HTTP status
To allow adaptivedemux to make retry decisions, it needs to know what
sort of HTTP error has occurred. For example, the retry logic for a
410 error is different from a 504 error.
https://bugzilla.gnome.org/show_bug.cgi?id=753751
Vincent Penquerc'h [Mon, 7 Mar 2016 17:04:33 +0000 (17:04 +0000)]
adaptivedemux: allow seeking before start in live streams
Some derived classes (at least dashdemux) expose a seeking range
based on wall clock. This means that a subsequent seek to the start
of this range will be before the allowed range.
To solve this, seeks without the ACCURATE flag are allowed to seek
before the start for live streams, in which case the segment is
shifted to start at the start of the new seek range. If there is
an end position, is is shifted too, to keep the duration constant.
https://bugzilla.gnome.org/show_bug.cgi?id=753751
Haihua Hu [Mon, 1 Aug 2016 06:12:35 +0000 (14:12 +0800)]
glimagesink: Fix horizontal/vertical flip matrizes
They were swapped.
https://bugzilla.gnome.org/show_bug.cgi?id=769371
Sreerenj Balachandran [Fri, 29 Jul 2016 13:32:22 +0000 (16:32 +0300)]
videoparsers: h264: Add more scalable profiles to the profile list
Adding Scalable Constrained High (G.10.1.2.1) and
Scalable High Intra(G.10.1.3) profiles to the profile list
https://bugzilla.gnome.org/show_bug.cgi?id=769303
Sebastian Dröge [Mon, 1 Aug 2016 07:30:29 +0000 (10:30 +0300)]
androidmedia: Run gst-indent over everything once again
Sebastian Dröge [Mon, 1 Aug 2016 07:28:26 +0000 (10:28 +0300)]
amc: If we find multiple codecs with the same name, just merge them
On the ODroid C1+ the H265 and H264 have the same name but are listed as two
different codecs. We have to handle them as the same one that supports both,
as otherwise we will register the same GType name twice which fails and we
then only have H265 support and not H264 support.
Sebastian Dröge [Mon, 1 Aug 2016 07:15:04 +0000 (10:15 +0300)]
amc: Use a GQueue for O(1) append instead of a GList
Sebastian Dröge [Fri, 29 Jul 2016 09:31:38 +0000 (12:31 +0300)]
adaptivedemux: Also call reset() in READY->PAUSED
This allows subclasses to have initialization code in a single place.
Sebastian Dröge [Fri, 29 Jul 2016 07:49:26 +0000 (10:49 +0300)]
rawaudioparse: Use G_GINT64_MODIFIER for portability
https://bugzilla.gnome.org/show_bug.cgi?id=769295
Sebastian Dröge [Fri, 29 Jul 2016 07:07:23 +0000 (10:07 +0300)]
unalignedaudioparse: Fix element factory name of inner parser