summaryrefslogtreecommitdiff
path: root/ext
Commit message (Collapse)AuthorAgeFilesLines
* mpg123: Remove dead assignmentEdward Hervey2013-07-271-2/+0
| | | | harder ? :)
* ladspa: initialize debug category earlierDavid Schleef2013-07-261-2/+2
| | | | You know, before it's used.
* hlsdemux: Implement pkcs7 unpaddingSebastian Dröge2013-07-231-0/+7
| | | | | | | | Every encrypted fragment will be a multiple of 128 bits, the last byte contains the number of bytes that were added as padding in the end and should be removed. https://bugzilla.gnome.org/show_bug.cgi?id=701673
* mssdemux: Add support for group-id in the stream-start eventSebastian Dröge2013-07-232-1/+28
|
* resindvd: Add support for group-id in the stream-start eventSebastian Dröge2013-07-232-1/+26
|
* hlsdemux: Add support for group-id in the stream-start eventSebastian Dröge2013-07-232-1/+27
|
* dash: Add support for group-id in the stream-start eventSebastian Dröge2013-07-232-5/+25
|
* hls: fix for assert failure when using encrypted HLS streamsAlex Ashley2013-07-223-336/+0
| | | | | | | | | | | | | | | | | | | | When using an HLS encrypted stream, an assertion failure is thrown: (gst-launch-1.0:31028): GLib-GObject-WARNING **: cannot register existing type `GstFragment' (gst-launch-1.0:31028): GLib-CRITICAL **: g_once_init_leave: assertion `result != 0' failed Eventually tracked this down to the call gst_fragment_new() in function gst_hls_demux_decrypt_fragment. The GstFragment class is defined in ext/hls/gstfragment.c and in gst-libs/gst/uridownloader/gstfragment.c. Having two class definitions with the same name causes the assert failure when trying to allocate GstFragment. Deleting the version from hls and editing the Makefile.am solves this assert failure. https://bugzilla.gnome.org/show_bug.cgi?id=704555
* resindvd: Send stream-start event before anything else on the mpeg demuxer ↵Sebastian Dröge2013-07-221-0/+10
| | | | srcpads
* grabcut: Add GrabCut segmentation elementMiguel Casas-Sanchez2013-07-175-0/+566
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=702722
* dashdemux: fix typo in check_queue_full functionThiago Santos2013-07-151-1/+1
| | | | | | It should return True when the queue IS full Fixes #704226
* dashdemux: implement queue full check functionThiago Santos2013-07-091-4/+3
| | | | | | | Checks if the queue is full according to max buffering time set by the user https://bugzilla.gnome.org/show_bug.cgi?id=701404
* dashdemux: minor refactorThiago Santos2013-07-091-137/+165
| | | | | | Split one very large function into 2 smaller but still large functions. Also change the if conditions to positive checks to improve readability.
* dashdemux: handle live playback resyncThiago Santos2013-07-084-4/+162
| | | | | | | | | | | During a live stream it is possible for dashdemux to lag behind on a slow connection or to rush ahead of the connection os too fast. For the first case it is necessary to jump some segments ahead to be able to continue playback as old segments are usually deleted from the server. For the later, dashdemux should wait a little before attempting another download do give time to the server to produce a new segment
* dashdemux: fix template based segment generationThiago Santos2013-07-082-75/+121
| | | | | | | | | When using a template based segment list, do not try to contruct a finite segment list for the limits of the available periods. We might not know when the period ends (for live streams) and we can always create the segment on demand when requested by dashdemux, avoiding use of some memory and cpu when re-creating this list.
* dashdemux: use more appropriate data structures for parsingThiago Santos2013-07-083-33/+64
| | | | | | | | | | | Replaces the 2 likely larger lists with more appropriate structures to improve performance. Replaces S nodes GList for a GQueue, this reduces latency to startup because of traversing the list just append an element. Replaces the processed media segments GList for a GPtrArray as it is constantly acessed by index during playback.
* dashdemux: answer to latency queriesThiago Santos2013-07-081-0/+16
| | | | | Set live if stream is live and also add to the max latency the max internal buffering
* dashdemux: prevent assertion when duration is unknownThiago Santos2013-07-031-1/+2
| | | | | | Duration from segment being unknown is a issue from the MPD and not a programming issue, so the assert isn't useful here. Instead check and return an error code so the caller can fallback to alternatives
* dashdemux: Fix event leak when parsing manifest failsThiago Santos2013-07-031-19/+29
| | | | | Always remember to unref the event before proceeding, in both success and failure cases
* dashdemux: various cleanupsThiago Santos2013-07-033-30/+10
| | | | | | Removing unused function, replacing // comments with /* */ and replacing some GST_WARNING with GST_INFO/_DEBUG as they are meant to be
* dashdemux: Change first fragment selection for live streamsAlex Ashley2013-07-033-7/+136
| | | | | | | | | | | | | When dashdemux selects its first fragment, it always selects the first fragment listed in the manifest. For on-demand content, this is the correct behaviour. However for live content, this behaviour is undesirable because the first fragment listed in the manifest might be some considerable time behind "now". The commit uses the host's idea of UTC and tries to find the oldest fragment that contains samples for this time of day. https://bugzilla.gnome.org/show_bug.cgi?id=701509
* dashdemux: only generate index segment uri if there is a templateThiago Santos2013-07-031-3/+4
| | | | Simple fix to avoid an assertion.
* dashdemux: Implement inheritance for certain MPD elementsGreg Rutz2013-07-031-51/+273
| | | | | | | | | | | | | According to the MPEG-DASH spec, certain elements (i.e. SegmentBase, SegmentTemplate, and SegmentList) should inherit attributes from the same elements in the containing AdaptationSet or Period. Updated the SegmentBase, SegmentTemplate, and SegmentList parsers to properly inherit attributes from the corresponding elements in AdaptationSet and/or Period. https://bugzilla.gnome.org/show_bug.cgi?id=702677
* dashdemux: Properly detect presence of xml attributesGreg Rutz2013-07-031-371/+426
| | | | | | | | | | | | Convert all xml attribute/content parsing functions to return a boolean value indicating whether or not the attribute/content was present. We need this finer-grained control in order to properly implement the inheritance policies described in the spec Also fixed several memory leak conditions when handling errors in the xml attribute/content parsing functions. https://bugzilla.gnome.org/show_bug.cgi?id=702677
* dashdemux: change debug message from warning to infoThiago Santos2013-07-031-1/+1
| | | | It isn't a warning/issue.
* dashdemux: protect from access to empty list dataThiago Santos2013-07-031-1/+1
| | | | | Check if the list has elements before trying to access the last one and causing a segfault
* dashdemux: protect against failed header downloadsThiago Santos2013-07-031-3/+5
| | | | Avoids criticals when downloaded fragment is NULL
* dashdemux: Handle case without an initialization segmentOlivier Crête2013-07-022-14/+20
| | | | | | | If no initialization segment is defined, then don't print a critical or a warning, just ignore it. https://bugzilla.gnome.org/show_bug.cgi?id=701961
* dash: save 1 or 2 string copies when getting fragment urisThiago Santos2013-07-011-4/+10
| | | | | Only create new string if required, saving maybe 1 or 2 str copies per fragment.
* dashdemux: each fragment can have its own indexThiago Santos2013-07-013-41/+130
| | | | | Return index URI/range to dashdemux from the mpdparser to be able to download and deliver them downstream for playback.
* dashdemux: handle top-level index urlsThiago Santos2013-07-013-26/+99
| | | | | | | Parse and provide access to top-level index segments if available. dashdemux should push those whenever a header is pushed. Fixes #700489
* dashdemux: Fix critical error output when Initialization has no URLArthur Shipkowski2013-07-011-7/+13
| | | | | | | | | | Issue evinced by http://yt-dash-mse-test.commondatastorage.googleapis.com/car-20120827-manifest.mpd which produces output like ** (gst-launch-1.0:8060): CRITICAL **: gst_mpdparser_get_initializationURL: assertion `InitializationURL->sourceURL != NULL' failed https://bugzilla.gnome.org/show_bug.cgi?id=700489
* dashdemux: prevent crash by checking if the segment node is presentThiago Santos2013-07-011-1/+1
| | | | Do not try to access range data if there is no segment node
* dash: use same debug category for dashdemux and the mpd parserThiago Santos2013-07-014-2/+20
| | | | Makes debugging easier
* dashdemux: add support for range based segmentsThiago Santos2013-07-013-43/+43
| | | | | | | | Use the mediaRange information and pass it to the uridownloader to correctly download only the segment ranges indicated in the MPD https://bugzilla.gnome.org/show_bug.cgi?id=702206
* srtp: Don't require a key if both auth and cipher are nullOlivier Crête2013-06-282-27/+72
|
* srtp: Move the enums to the common headerOlivier Crête2013-06-285-26/+22
| | | | The types are used in both the encoder and decoder
* srtp: Remove unused codeOlivier Crête2013-06-281-2/+0
|
* dashdemux: Cleanup memory allocation/deallocationGreg Rutz2013-06-251-127/+144
| | | | | | | | | | | | | | | | | | | | Ensure that g_free/xmlFree is used correctly based on how the memory was allocated. When deallocating GLists, there were many places that were using g_list_foreach and g_list_free. Converted these occurrences to call g_list_free_full. Add NULL checks to all xmlFree calls since the documentation does not guarantee that passing NULL is safe In places where we are strdup'ing memory allocated by libxml2, changed those calls to use xmlMemStrdup(). There were several places where we were missing g_slice_free when deallocating a top-level node structure. https://bugzilla.gnome.org/show_bug.cgi?id=702837
* daaladec: Add decoder elementSebastian Dröge2013-06-233-0/+754
|
* daalaenc: Add encoder elementSebastian Dröge2013-06-233-0/+822
|
* daala: Initial version of a Daala pluginSebastian Dröge2013-06-237-0/+64
|
* srtp: Fix distEdward Hervey2013-06-231-3/+3
| | | | | The enums should not be dist-ed and instead be re-generated when compiling.
* wayland: Add support for RGBx and RGBA formatsBenjamin Gaignard2013-06-183-10/+77
| | | | | | | Wayland interface could offer two buffers pixels formats: WL_SHM_FORMAT_XRGB8888 and WL_SHM_FORMAT_ARGB8888. Update waylandsink to support them and check if the format is really available. https://bugzilla.gnome.org/show_bug.cgi?id=702112
* opencv: fix CFLAGS order and add plugins base libs includes to CXXFLAGSTim-Philipp Müller2013-06-181-3/+3
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=702297
* opencv: fixes build by moving the c++ header to gstsegmentation.cppAlban Browaeys2013-06-182-1/+1
| | | | | | | | | | | | | Fixes: In file included from gstsegmentation.h:51:0, from gstopencv.c:42: /usr/include/opencv2/video/background_segm.hpp:47:16: fatal error: list: No such file or directory #include <list> ^ compilation terminated. https://bugzilla.gnome.org/show_bug.cgi?id=702297
* curlsmtpsink: removed an incorrect assertPatricia Muscalu2013-06-111-1/+0
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=702036
* opencv: add foreground/background segmentation elementMiguel Casas-Sanchez2013-06-114-0/+983
| | | | | | | Add an element to the opencv plugin for foregroung/background image sequence segmentation, using one out of 3 algorithms. https://bugzilla.gnome.org/show_bug.cgi?id=701421
* dashdemux: Make gst-indent happyOlivier Crête2013-06-101-1/+1
|
* eglglessink: Remove workaround for a bug in the RPi EGL implementationSebastian Dröge2013-06-081-9/+0
| | | | It's fixed in the latest firmware since a few weeks.