summaryrefslogtreecommitdiff
path: root/ext
Commit message (Collapse)AuthorAgeFilesLines
* meson: Fix mplex plugin file nameNicolas Dufresne2017-03-291-1/+1
| | | | | Meson was creating libgstmplex2.so which didn't match the plugin name 'mplex'.
* webrtcechoprobe: return from _read() early if the probe is not configured yetGeorge Kiagiadakis2017-03-291-1/+2
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=780642
* dashdemux: fix typo in implementation notesLuis de Bethencourt2017-03-281-2/+2
| | | | s/enveloppe/envelope
* webrtcdsp: Add support to build with mesonNicolas Dufresne2017-03-272-1/+24
|
* webrtcdsp: expose voice activity detection.Mathieu Duponchelle2017-03-271-1/+129
| | | | | | | | The element now exposes properties to enable and configure voice activity detection, and posts "voice-activity" messages when the return value of stream_has_voice () changes. https://bugzilla.gnome.org/show_bug.cgi?id=779138
* mssdemux: only add live fragments after manifest fragmentsMatthew Waters2017-03-271-15/+14
| | | | | | | | | | | | | A live manifest may have a set (> LookAheadFragmentCount) of fragments that have already been served and are stored on the server, maybe indefinitely. Adding the parsed live fragments after the manifest fragments breaks duration reporting and the seekable range. Fix by only adding parsed fragments outside the list of fragments which assumes that the fragment list in the manifest is accurate enough to not stray too far off what's in the retrieved data. https://bugzilla.gnome.org/show_bug.cgi?id=779447
* Add missing include path for gst/glib-compat-prive.hNicolas Dufresne2017-03-243-3/+3
| | | | | This fixes build failure in mplex and mpeg2enc plugins and most likely in kate plugin (untested).
* meson: Build mpeg2enc and mplex when availableNirbheek Chauhan2017-03-233-2/+39
|
* dashdemux: In reverse playback mode, if seeking to the beginning of a ↵Sebastian Dröge2017-03-222-0/+9
| | | | | | fragment, start with the previous one instead There's no point to start downloading a fragment just to output 1ns.
* dashdemux: Implement SNAP_NEAREST seeksSebastian Dröge2017-03-211-2/+15
|
* dashdemux: Don't use ABS() for calculating differencesSebastian Dröge2017-03-211-2/+1
| | | | We know which number is bigger.
* dashdemux: Only snap seeks forwards if the seek position does not happen to ↵Sebastian Dröge2017-03-211-4/+12
| | | | be the exact segment position
* dashdemux: Use gst_mpdparser_get_segment_end_time() directly instead of ↵Sebastian Dröge2017-03-211-7/+3
| | | | | | calculating it again It does the exact same calculations.
* mpdparser: Refactor to get rid of one level of indentation in seeking codeSebastian Dröge2017-03-211-37/+36
| | | | | Also go out of the segment searching loop once segment->start > ts. We're not going to find any earlier segment anymore.
* dashdemux: Fix snap SIDX seeking and report if we're going outside the indexSebastian Dröge2017-03-211-54/+59
| | | | | | | | Instead of just going to the first or last fragment, report if we're going outside the index. This should never happen unless there's a bug or the stream is broken. Allow some possibility for inaccuracies here though.
* Update for 'mad' mp3 decoder removalTim-Philipp Müller2017-03-201-1/+1
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=776140
* m3u8: Fix parsing EXT-X-DISCONTINUITYSeungha Yang2017-03-171-1/+1
| | | | | | EXT-X-DISCONTINUITY tag should have no trailing ":" character https://bugzilla.gnome.org/show_bug.cgi?id=780179
* m3u8: Release m3u8 lock if consistent checking failedSeungha Yang2017-03-171-1/+3
| | | | | | To fix deadlock during live m3u8 update https://bugzilla.gnome.org/show_bug.cgi?id=780180
* dashdemux: Just reset SIDX parser if the index is invalid for the current ↵Sebastian Dröge2017-03-161-3/+3
| | | | | | segment https://bugzilla.gnome.org/show_bug.cgi?id=780108
* ttml: Replace assertionsChris Bass2017-03-152-31/+41
| | | | | | | Remove assertions and replace, where necessary, with code that handles the error cases. https://bugzilla.gnome.org/show_bug.cgi?id=776436
* dashdemux: If a SIDX seek failed although we're in the correct segment, ↵Sebastian Dröge2017-03-151-0/+17
| | | | | | | disable the SIDX usage for this segment The SIDX apparently does not contain information about the current segment, so better stop using it instead of using incorrect values.
* dashdemux: Keep track of the PTS, not the SIDX index position between ↵Sebastian Dröge2017-03-152-21/+81
| | | | | | | | representations There is no guarantee that the index positions are the same between representations, and assuming this easily causes us to get into invalid index positions.
* dashdemux: When clearing the sidx parser, reset all stateSebastian Dröge2017-03-151-1/+3
| | | | | And especially don't keep entry count and index around, we have no entries anymore after clearing.
* dashdemux: Drain buffer at the end of subfragmentSeungha Yang2017-03-151-1/+7
| | | | | | | Some of streams such as below have tailing boxes at the end of subfragment. http://dash.akamaized.net/dash264/TestCases/1a/netflix/exMPD_BIP_TC1.mpd https://bugzilla.gnome.org/show_bug.cgi?id=776200
* dashdemux: Do not advace subfragment after pending SIDX seek doneSeungha Yang2017-03-151-2/+7
| | | | | | | | | If a MPD is On-Demand profile and no index described, demux will terminate download loop after parsing inband SIDX with flow return custom-success. At this moment, SIDX index is excat target position, but finish_fragment() might cause re-advancing subfragment depending on MPD structure. https://bugzilla.gnome.org/show_bug.cgi?id=776200
* dashdemux: Reset SIDX related variables per fragmentSeungha Yang2017-03-151-0/+2
| | | | | | | | SIDX's base offset (i.e., byte offset of SIDX + sidx.first_offset) mostly vary as per fragment. Also, target SIDX index must be zero for the new fragment. https://bugzilla.gnome.org/show_bug.cgi?id=776200
* dashdemux: Two depth seeking for On-Demand profileSeungha Yang2017-03-151-4/+18
| | | | | | | | | Try to find fragment using MPD first, then do refinement to find target subframgnet using SIDX if possible. Note that, if target fragment was moved from the previously activated one, we should assume that the last SIDX is invalid for new fragment. https://bugzilla.gnome.org/show_bug.cgi?id=776200
* dashdemux: Exception handle in _sidx_seek()Seungha Yang2017-03-151-1/+9
| | | | | | | If target seek position is outside of the range of sidx entries, binary search returns NULL pointer. https://bugzilla.gnome.org/show_bug.cgi?id=776200
* dashdemux: Add assertion for preventing of access after the end of the sidx ↵Sebastian Dröge2017-03-151-1/+8
| | | | | | entries array Better crash cleanly here than reading some random numbers from memory.
* dashdemux: Advance subfragment only if any existSeungha Yang2017-03-141-10/+15
| | | | | | | | | | | | | SIDX based playback is not restricted to SegmentBase, but it possible with SegmentList/SegmentTemplate. In the latter case, each fragment has its own SIDX box and might be subdivided into subfragment. So, demux should not assume that the end of subfragment is the end of stream. Moreover, should try advance subfragment only if there are remaining subfragments. With additional fixes by Sebastian Dröge <sebastian@centricular.com> https://bugzilla.gnome.org/show_bug.cgi?id=776200
* waylandsink: fix memory offset calculation for dmabuf buffersGeorge Kiagiadakis2017-03-141-7/+19
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=779790
* Revert "adaptivedemux: answer duration queries for live streams"Matthew Waters2017-03-143-6/+16
| | | | | | | | Completely disabling duration reporting with live streams is not cool. This reverts commit e1b68d9a65ba512a52c3a2b298fa830a445eb451. https://bugzilla.gnome.org/show_bug.cgi?id=753879
* gl: GL_ARRAY_BUFFER is not a part of VAO stateMatthew Waters2017-03-147-34/+16
| | | | | As a result we need to bind it on every draw in order to have the correct state in the GL state machine.
* gl/format: use our own GL format enum's instead of gstvideo'sMatthew Waters2017-03-134-12/+7
| | | | They can describe in more detail (such as component sizes) the requested format.
* dash/smoothstreaming: Use GST_PLUGIN_LIBTOOLFLAGSNicolas Dufresne2017-03-082-2/+2
| | | | | Use the flags defined by configure script instead of always disabling static plugins.
* Rename plugin filesnames to match plugin namesNicolas Dufresne2017-03-084-16/+16
| | | | | | | | | | | | - libgstgtksink.so -> libgstgtk.so - libgstteletextdec.so -> libgstteletex.so - libgstcamerabin2.so -> libgstcamerabin.so - libgstonvif.so -> libgstrtponvif.so (meson only) - sdp -> sdpelem (avoid clash with libgstsdp) - gstsiren -> siren - libgstkmssink.so -> libgstkms.so https://bugzilla.gnome.org/show_bug.cgi?id=779344
* applemedia/gl: Fix compile issues for OSXNick Kallen2017-03-081-0/+1
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=778333
* applemedia/gl: Update code to use ARCNick Kallen2017-03-072-6/+18
| | | | | | | | | | | | All code interacting with Objective-C objects should now use Automated Reference Counting rather than manual memory management or Garbage Collection. Because ARC prohibits C-structs from containing references to Objective-C objects, all such fields are now typed 'gpointer'. Setting and gettings Objective-C fields on such a struct now uses explicit __bridge_* calls to tell ARC about object lifetimes. https://bugzilla.gnome.org/show_bug.cgi?id=777847
* hlsdemux: Try to find type at the end of a fragmentSeungha Yang2017-03-061-0/+7
| | | | | | | | | hlsdemux tries to find type if given buffer size is large enought to find type (currently the threshold is 2KB), or EOS in some cases. However, since there can be small byte fragments such as WebVTT, demux should try to find type at the end of a fragment https://bugzilla.gnome.org/show_bug.cgi?id=779011
* voaacenc: limit bitrate property to 320 kbpsTim-Philipp Müller2017-03-061-2/+2
| | | | | | | | This appears to be the internal limit of voaacenc, higher bitrates will be ignored and 128 kbps output will be produced instead. Therefore, we might just as well limit the allowed property values, so that people who try to set higher bitrates get a big fat warning instead of silently a much lower bitrate.
* hlsdemux: Fix checking adaptation_field_control field to parse pcrDongil Park2017-03-031-2/+2
| | | | | | | | | | | The PCR_flag and PCR value is in adaptation_field, not in payload. The MSB of adaptation_field_control is used as whether adaptation_ field is exist or not. For the case(PCR in only adaptation_field without payload), we modify checking condition about adaptation_field_control field. https://bugzilla.gnome.org/show_bug.cgi?id=778731
* hls: Fix various leak on hlsdemux and m3u8Seungha Yang2017-03-022-0/+7
| | | | | | | | * default_variant should be freed, it holds ref. * GstHLSMedia holds GstM3U8 ref. * gst_m3u8_get_next_fragment() increases ref count. https://bugzilla.gnome.org/show_bug.cgi?id=778073
* dashdemux: fix default suggestedPresentationDelayWojciech Przybyl2017-03-021-1/+2
| | | | | | | | | | | | | | When MPD@suggestedPresentationDelay is not present in the MPD, dashdemux can provide default suggestedPresentationDelay. However when applying default value of suggestedPresentationDelay, the value should be subtracted from current time, not added to it. When streams setup is performed and live point is calculated, we have to go to the wall clock (current time) minus suggestedPresentationDelay, if we tried to start with current time plus suggestedPresentationDelay, we would be asking for future stream, which has not yet been recorded. Also the value needs to be converted from ms to us. https://bugzilla.gnome.org/show_bug.cgi?id=764726
* adaptivedemux: answer duration queries for live streamsAlex Ashley2017-03-023-16/+6
| | | | | | | | | | | For duration queries on live streams, adaptivedemux ignores the query. The problem then is that the query is answered by the downstream qtdemux element, with the duration of the currently passing fragment. This commit changes the behaviour of adaptivedemux to answer the duration queries for live streams, returning GST_CLOCK_TIME_NONE. https://bugzilla.gnome.org/show_bug.cgi?id=753879
* hlsdemux: Implement adaptivedemux's _stream_seek()Seungha Yang2017-03-021-75/+101
| | | | | | | _stream_seek() can be called by adaptivedemux when "restart download" condition. It's mostly caused by track switching. https://bugzilla.gnome.org/show_bug.cgi?id=776997
* hlsdemux: Simplify seeking code by using macroSeungha Yang2017-03-021-5/+9
| | | | | | | | Import an adaptivedemux's macro to minimize code. Also, this patch considers KEY_UNIT and TRICKMODE_KEY_UNITS as snap seek. https://bugzilla.gnome.org/show_bug.cgi?id=776997
* hlsdemux: Early terminate seeking if we don't need to doSeungha Yang2017-03-021-63/+65
| | | | | | Some codes are imported from dashdemux https://bugzilla.gnome.org/show_bug.cgi?id=776997
* hlsdemux: Add support for EXT-X-DISCONTINUITY-SEQUENCEThomas Bluemel2017-03-022-1/+9
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=772811
* openexrdec: Also catch other exceptions by reference instead of by valueSebastian Dröge2017-03-011-2/+2
| | | | | | It would have to be copied otherwise, and is quite big. CID 1373419
* openexrdec: Catch exception by reference instead of by valueSebastian Dröge2017-02-281-1/+1
| | | | | | It would have to be copied otherwise, and is quite big. CID 1373419