summaryrefslogtreecommitdiff
path: root/ext
Commit message (Collapse)AuthorAgeFilesLines
...
* ttmlparse: don't filter out untimed whitespaceChris Bass2017-04-091-6/+37
| | | | | | | | | | | | Significant whitespace in elements that don't have begin/end values should inherit timing from its parent, or if no its parents have no timing, from the document's Root Temporal Extent. Currently, such whitespace is removed, which is not spec-compliant. Fix this by retaining whitespace in content nodes, and assigning a Root Temporal Extent of 24 hours to any significant whitespace whose parents have no associated timing. https://bugzilla.gnome.org/show_bug.cgi?id=781027
* ttmlparse: don't leak caps.Chris Bass2017-04-091-0/+1
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=780402
* ttmlrender: improve function comments/descriptionsChris Bass2017-04-091-4/+11
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=780402
* ttmlrender: relocate type definitions to head of fileChris Bass2017-04-091-26/+27
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=780402
* ttml: correctly implement lineHeight behaviourChris Bass2017-04-093-11/+42
| | | | | | | | | | | | | | The specified behaviour in TTML when lineHeight is "normal" is different from the behaviour when a percentage is given. In the former case, the line height is a percentage (the TTML spec recommends 125%) of the largest font size that is applied to the spans within the block; in the latter case, the line height is the given percentage of the font size that is applied to the block itself. The code doesn't correctly implement this behaviour; this patch fixes that. https://bugzilla.gnome.org/show_bug.cgi?id=780402
* ttmlrender: apply correct line height to blocks with multiple text sizesChris Bass2017-04-092-412/+745
| | | | | | | | | | | | | | | | | | | In TTML, the height of every line in a block is determined by lineHeight and fontSize style attributes, and should be the same for each line in that block, regardless of whether different sized text appears on different lines. Currently, a single PangoLayout is used to lay out all the text in a block; however, pango will vary the line height in a layout depending on the size of text used in each line, which is not compliant with TTML. This patch makes ttmlrender lay out the lines in a block itself, rather than using a PangoLayout to do the work. The code still uses a PangoLayout to render the text of each element, but the overall layout of the text in a block is now controlled by ttmlrender itself. By doing this, ttmlrender is able to ensure that the height of each line in a block is correct. https://bugzilla.gnome.org/show_bug.cgi?id=780402
* ttmlrender: add facility to stitch images in both directionsChris Bass2017-04-091-23/+66
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=780402
* ttmlrender: extend UnifiedElement type to include font metricsChris Bass2017-04-091-4/+119
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=780402
* ttmlrender: extend UnifiedBlock typeChris Bass2017-04-091-2/+19
| | | | | | | Include a reference to the GstSubtitleStyleSet of the represented block and a string containing the concatenated text from all elements. https://bugzilla.gnome.org/show_bug.cgi?id=780402
* ttml: add refcounting to GstSubtitleStlyeSet typeChris Bass2017-04-093-22/+62
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=780402
* ttmlrender: rename TextRange type and its fields.Chris Bass2017-04-091-19/+19
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=780402
* ttmlrender: store PangoLayout in object stateChris Bass2017-04-092-23/+20
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=780402
* ttmlrender: put all functions in gst_ttml_render namespaceChris Bass2017-04-091-13/+13
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=780402
* 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