summaryrefslogtreecommitdiff
path: root/ext
Commit message (Collapse)AuthorAgeFilesLines
* hlsdemux: unquote all the quoted-string attributesAlex Ashley2015-12-221-49/+18
| | | | | | | | | | | | | | | | | | The URI attribute from the EXT-X-KEY tag and the URI attribute from the EXT-X-I-FRAMES-ONLY tag are both quoted-string attibutes that have their quotation marks removed during parsing. The CODECS attribute of the EXT-X-STREAM-INF is also a quoted-string attribute, but this attribute was not being un-quoted. This commit changes the parser to always unquote all quoted-string attributes and adjusts the unit tests to this new bevahiour for the CODECS attribute. An additional test is added to check that parsing of all of the fields in the EXT-X-STREAM tag is correct, including those that contain comma characters. https://bugzilla.gnome.org/show_bug.cgi?id=758384
* hlsdemux: make sure every bad update_playlist return sets an errorThiago Santos2015-12-221-2/+6
| | | | Otherwise it segfaults when reporting the error in the bus
* teletextdec: Use NULL instead of g_strdup('\0')Sebastian Dröge2015-12-211-2/+2
| | | | | | Which is equivalent to g_strdup(NULL). https://bugzilla.gnome.org/show_bug.cgi?id=759728
* assrender, dvbsuboverlay: fix example pipelines in docsTim-Philipp Müller2015-12-191-1/+1
|
* hlsdemux: reflow update_playlist a bitTim-Philipp Müller2015-12-191-50/+50
| | | | Reduce indentation by erroring out directly on failure.
* hlsdemux: fix potential error leakTim-Philipp Müller2015-12-191-4/+2
| | | | | | | | | Clear error as soon as we determine that the download failed, otherwise there are code paths where we might return without clearing it ever, which would leak the GError then. Also, we can pass a NULL GError pointer to _fetch_uri(), so just do that instead of passing one that we're going to just free again right away anyway.
* opencv: remove unneeded sink_event function in pyramidsegmentLuis de Bethencourt2015-12-191-33/+1
|
* opencv: remove unneeded sink_event function in textoverlayLuis de Bethencourt2015-12-191-34/+0
|
* templatematch: remove useless functionThiago Santos2015-12-181-30/+0
|
* hlsdemux: always set timestamp on reverse playbackThiago Santos2015-12-181-1/+1
| | | | | | | Downstream needs to be able to restore the timestamps after a discont to do reverse playback https://bugzilla.gnome.org/show_bug.cgi?id=759592
* glimagesink: Show error when video frame is not mapped.Lubosz Sarnecki2015-12-181-0/+1
| | | | | | | | Adds more meaningful error than "Failed to convert multiview video buffer", which is always used when prepare_next_buffer() fails in gst_glimage_sink_prepare(). https://bugzilla.gnome.org/show_bug.cgi?id=743345
* opencv: update opencvtextoverlay to GstOpencvVideoFilterLuis de Bethencourt2015-12-182-53/+22
| | | | | | | Update opencvtextoverlay to inherit from GstOpencvVideoFilter instead of from GstElement. This means less code and more uniformity with other OpenCV elements. The chain/transform function is now a third of the size than before.
* opencv: update templatematch to GstOpencvVideoFilterLuis de Bethencourt2015-12-182-56/+31
| | | | | | Update pyramidsegment to inherit from GstOpencvVideoFilter instead of from GstElement. This means less code and more uniformity with other OpenCV elements.
* opencv: update pyramidsegment to GstOpencvVideoFilterLuis de Bethencourt2015-12-182-49/+23
| | | | | | Update pyramidsegment to inherit from GstOpencvVideoFilter instead of from GstElement. This means less code and more uniformity with other OpenCV elements.
* opencv: update motioncells to GstOpencvVideoFilterLuis de Bethencourt2015-12-182-240/+228
| | | | | | Update motioncells to inherit from GstOpencvVideoFilter instead of from GstElement. This means less code and more uniformity with other OpenCV elements.
* glmemory: add gst_gl_memory_allocator_get_defaultAlessandro Decina2015-12-181-4/+4
| | | | | | | | Add gst_gl_memory_allocator_get_default to get the default allocator based on the opengl version. Allows us to stop hardcoding the PBO allocator which isn't supported on gles2. Fixes GL upload on iOS9 among other things.
* glimagesink: don't deadlock on resizeMatthew Waters2015-12-181-4/+4
| | | | | | | | | | | | | Performing any GL function marshalling off the GL thread with glimagesink's render lock is prone to deadlocks between the GL thread and the non-GL thread. What can happen is this: 1. non-GL thread attempts to function marshal to the GL thread. 2. while 1 is happening, the winsys gives an event (say resize) 3. This calls back into glimagesink which taks the render lock. 4. As the GL function marshalling is attempting to run on the GL and already has glimagesink's render lock locked. This deadlocks as the threads are waiting for each other.
* opencv: update edgedetect to GstOpencvVideoFilterLuis de Bethencourt2015-12-172-52/+46
| | | | | | Update edgedetect to inherit from GstOpencvVideoFilter instead of from GstElement. This means less code and more uniformity with other OpenCV elements.
* openjpegdec: Don't crash when decoding returns NULL data for any componentSebastian Dröge2015-12-171-0/+9
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=758943
* opencv: add blur and bilateral support in cvsmoothLuis de Bethencourt2015-12-172-3/+25
| | | | | | | | Adding the support for the two other OpenCV linear filters to smooth images. The new API does support spatial sigma in the bilateral filter, hence bringing that property back. Adding reference to new documentation.
* glmemorypbo: remove our own alloc()/wrapped()/etc functionsMatthew Waters2015-12-171-4/+24
| | | | replaced by equivalent functionality within gst_gl_base_memory_alloc()
* opencv: add medianBlur support in cvsmoothLuis de Bethencourt2015-12-161-7/+26
| | | | | With the deprecation of cvSmooth we have to handle the other smoothing functions manually.
* opencv: switch deprecated cvSmooth for GaussianBlurLuis de Bethencourt2015-12-162-30/+19
| | | | | | | | | The OpenCV cvSmooth function is deprecated [0] and the documentation recommends to use GaussianBlur (). This makes the spatial property go unused. Marking it as deprecated, making it non-functional and will remove in the next cycle. [0] http://docs.opencv.org/2.4/modules/imgproc/doc/filtering.html
* dashdemux: improve validation of UTCtiming elementFlorin Apostol2015-12-161-0/+5
| | | | | | | | | | | | | gst_mpdparser_parse_utctiming_node does not validate the parsed values completely. The following scenarios are incorrectly accepted: - elements with no schemeIdUri property should be rejected - elements with unrecognized UTCTiming scheme should be rejected - elements with empty values should be rejected The last one triggers a division by 0 in gst_dash_demux_poll_clock_drift: clock_drift->selected_url = clock_drift->selected_url % g_strv_length (urls); because it urls is a valid pointer to an empty array. https://bugzilla.gnome.org/show_bug.cgi?id=759547
* dashdemux: clock_cond is not used and should be removedFlorin Apostol2015-12-161-6/+0
| | | | | | | There are no threads waiting on clock_cond. It is just initialised and signalled. It should be removed. https://bugzilla.gnome.org/show_bug.cgi?id=759537
* adaptivedemux: fixed clock compensation in get_fragment_waiting_timeFlorin Apostol2015-12-161-1/+2
| | | | | | Clock compensation is calculated in usec but is added to a GstClockTime value. https://bugzilla.gnome.org/show_bug.cgi?id=759534
* qtsink: Add configured GL cflags to the buildNicolas Dufresne2015-12-151-1/+2
| | | | | | We don't directly link to GL in the element, though we use GL headers. For this reason we need to include the proper GL headers path. This prevent this element from using a different GL header then libgstgl.
* opencv: pyramidsegment: fix example launch lineLuis de Bethencourt2015-12-151-1/+1
| | | | | Use videotestsrc and autovideosink in the example gst-launch-1.0 line and not a useless fakesrc-fakesink example.
* opencv: add headers with example launch linesLuis de Bethencourt2015-12-156-0/+80
| | | | | Add description headers for all the OpenCV plugins missing them, so we can have gst-launch-1.0 example launch lines for all of them.
* plugins-bad: Fix example pipelinesVineeth TM2015-12-1548-71/+71
| | | | | | | | rename gst-launch --> gst-launch-1.0 replace old elements with new elements(ffmpegcolorspace -> videoconvert, ffenc_** -> avenc_**) fix caps in examples https://bugzilla.gnome.org/show_bug.cgi?id=759432
* glmemory: base classify and add the pbo memory on topMatthew Waters2015-12-143-4/+5
| | | | | | | | | | The base class is useful for having multiple backing memory types other than the default. e.g. IOSurface, EGLImage, dmabuf? The PBO transfer logic is now inside GstGLMemoryPBO which uses GstGLBuffer to manage the PBO memory. This also moves the format utility functions into their own file.
* gldownload: remove helper api from the libraryMatthew Waters2015-12-141-1/+0
| | | | | It was never used by anyone and is not needed anymore with the element and GstGLMemory's transparent support for downloading textures.
* opencv: clean includesLuis de Bethencourt2015-12-1236-221/+152
| | | | | | The opencv element includes were full of duplicates and uneeded headers. For example a few elements that stopped using gstcvopencvutils still included that header file.
* opencv: remove unused functions in gstopencvutilsLuis de Bethencourt2015-12-122-71/+0
| | | | | | | Since commit 45ca8876b2f5267f7edb842b6d56d7a6c271ccb3 nobody is using gst_opencv_get_ipl_depth_and_channels() or gst_opencv_parse_iplimage_params_from_structure(). Remove this dead code.
* motioncells: Remove unused includesLuis de Bethencourt2015-12-122-6/+0
|
* gltransformation: clear to transparentMatthew Waters2015-12-121-1/+1
| | | | | Otherwise composition will result in a black frame outside the transformed video.
* hlsdemux: add support for seeking to fragment boundariesDuncan Palmer2015-12-081-1/+22
| | | | | | | | | Setting the seek flags to GST_SEEK_FLAG_SNAP_* will change the seek target time to a segment boundary. Based on original work by Ben Willers <bwillers@digisoft.tv>. https://bugzilla.gnome.org/show_bug.cgi?id=759108
* dashdemux: Suggestion for setting the framerate information.suhwang.kim2015-12-083-0/+50
| | | | | | | | Dashdemux has set the width and height information from MPD manifest. Some embedded devices which are not insufficient H/W resources need more information such as framerate to assign H/W resources. So I suggested that dashdemux also needs to set the framerate information from MDP manifest. https://bugzilla.gnome.org/show_bug.cgi?id=758515
* dashdemux: maxFrameRate & minFrameRate should be in RepresentationBase.suhwang.kim2015-12-082-8/+8
| | | | | | | According to the spec, they can be in AdaptationSet, Representation and SubRepresentation. So They should be in RepresentationBase. https://bugzilla.gnome.org/show_bug.cgi?id=758515
* openjpegenc: All frames in JPEG2000 are keyframes, mark them as suchSebastian Dröge2015-12-071-0/+1
|
* teletextdec: Fix leak and NULL pointer usageEdward Hervey2015-12-071-13/+9
| | | | Coverity CID #1341744
* teletextdec: Remove dead codeEdward Hervey2015-12-071-4/+1
| | | | | | | ++i in a for() loop results in the loop never being executed more than once Coverity CID #1341748 Coverity CID #1341743
* port teletextdec to 1.0Daniel Kamil Kozar2015-12-064-440/+313
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=733819
* hlsdemux: Resync live playlists to the 3rd newest fragment if we fall off ↵Sebastian Dröge2015-12-041-0/+15
| | | | | | | | | | | | | | | | | the playlist As HLS does not provide any way of knowing the server's clock, and we do buffering of "live" streams, at some point we will fall behind the server in many cases and would have to advance to a fragment that is not in the playlist anymore. Previously we would've just resynced to the next oldest fragment that is still there, but this causes problems as from this point onwards we would always fall off the playlist again all the time. Instead we now resync and move to the 3rd newest fragment like we would do when starting playback of a live stream. https://bugzilla.gnome.org/show_bug.cgi?id=758987
* hls: m3u8: remove superfluous gst_m3u8_copy() implementationTim-Philipp Müller2015-12-031-78/+4
| | | | | | No need to implement _copy() when we just copy a list that we're freeing three lines later anyway. Instead just steal the new main list.
* hlsdemux: update current variant if connection speed is setMaroš Ondrášek2015-12-021-0/+3
| | | | | | | | | | | | | | | | | If connection speed is set, playlist according to connection speed is selected as current playlist. Problem is that the current variant of main playlist still points to previously set variant. If previously set variant doesn't correspond to current playlist, then it causes unnecessary change of playlist to the same playlist after first fragment is downloaded, because of not updated current variant. To fix this, we need to make sure that current variant of main playlist corresponds to the current playlist https://bugzilla.gnome.org/show_bug.cgi?id=758946
* hlsdemux: Tell the base class the fragment durationJan Schmidt2015-12-021-0/+1
| | | | | adaptivedemux uses the fragment duration as a delay in some cases, so make sure to set it.
* hlsdemux: When switching bitrate variants, don't jump backJan Schmidt2015-12-021-1/+4
| | | | | | | | | Don't jump backward to 3 files from the end of the playlist when switching variants - it just means we downloaded fragments fast and caught up to the end of the playlist. Disable that by treating a variant switch as a playlist update, not a restart due to a seek or so.
* hlsdemux: correct the calculation of seek range of non-live streamsAlex Ashley2015-12-021-4/+8
| | | | | | | | | | The seek range calculation for on-demand streams was incorrectly excluding the last three segments of the stream. This three segment rule should only be applied to live streams [1]. [1] https://tools.ietf.org/html/draft-pantos-http-live-streaming-17#section-6.3.3 https://bugzilla.gnome.org/show_bug.cgi?id=758386
* hlsdemux: fix crash when decryption key can't be downloadedTim-Philipp Müller2015-12-011-3/+6
| | | | | | Happened with http://sslhls.m6tv.cdn.sfr.net/hls-live/livepkgr/_definst_/m6_hls_aes/m6_hls_aes_856.m3u8 if glib-networking was not installed (since key has https uri).