summaryrefslogtreecommitdiff
path: root/gst-libs/gst
Commit message (Collapse)AuthorAgeFilesLines
* gl/window: create the main loop/context on init/finalizeMatthew Waters2015-03-115-73/+99
| | | | | | Avoids races setting the window handle from the main thread. https://bugzilla.gnome.org/show_bug.cgi?id=745633
* aggregatory: don't redefine GST_FLOW_CUSTOM_SUCCESSMatthew Waters2015-03-111-1/+1
|
* adaptivedemux: fix get_presentation_offset check.Mathieu Duponchelle2015-03-101-1/+2
| | | | | | And return 0 isntead of FALSE. https://bugzilla.gnome.org/show_bug.cgi?id=745455
* adaptivedemux: [API]: get_presentation_offset virtual method.Mathieu Duponchelle2015-03-102-0/+33
| | | | | | | | Asks the subclass for a potential time offset to apply to each separate stream, in dash streams can have "presentation time offsets", which can be different for each stream. https://bugzilla.gnome.org/show_bug.cgi?id=745455
* glfilter: Don't chain downstream poolNicolas Dufresne2015-03-061-49/+33
| | | | | | | | | | Chaining a downstream pool would lead to two owner of the same pool. In dynamic pipeline, if one owner is removed from the pipeline the pool will be stopped, and the rest of the pipeline will fail since the pool will now be flushing. Also fix proposed pool caching, filter->pool was never set, never unrefed. https://bugzilla.gnome.org/show_bug.cgi?id=745705
* gldownload: Simplify caps feature setting codeSebastian Dröge2015-03-061-10/+3
|
* gl: Remove format info in glcolorconvert's transform_caps function instead ↵Sebastian Dröge2015-03-062-45/+43
| | | | | | | of on every caller ... and let glmixer actually transform the caps it is supposed to transform instead of inventing new caps.
* Revert "videoaggregator: Create new caps from the video-info"Sebastian Dröge2015-03-061-12/+2
| | | | | | This reverts commit 78215be0dfbb4e8ed4f249e161a94c644328d28d. because it broke glvideomixer with custom caps features.
* glupload: Simplify caps feature setting codeSebastian Dröge2015-03-061-10/+3
|
* videoaggregator: Create new caps from the video-infoSebastian Dröge2015-03-061-2/+12
| | | | | | | In case the original caps were missing some optional fields like interlace-mode. We assume default values for those everywhere, but they can still cause negotiation to fail if a downstream element expects the field to be there and at a specific value.
* gldisplay: Only use debugging if we have valid valuesEdward Hervey2015-03-051-3/+4
| | | | | The debug category won't have been created/activated if it's not a valid display
* glfilter: Get rid of uploader if caps have changedNicolas Dufresne2015-03-031-0/+7
| | | | | | We need to update the uploader format if that caps have changed. https://bugzilla.gnome.org/show_bug.cgi?id=745549
* gl: Fix context leaksEdward Hervey2015-03-031-0/+2
| | | | Introduced by a12ca13750a15300ab3c718ebde2984dc3d587b3
* gl/cocoa: register only one custom nsapp loopJulien Isorce2015-03-022-14/+32
| | | | | | | | Otherwise the pipeline stalls when running more than one glimagesink with gst-launch. Also only register the custom nsapp loop when setting up the nsapp from gstgl.
* gl/cocoa: instead of class_init use g_once to setup nsappJulien Isorce2015-03-021-28/+30
|
* gl/cocoa: check for deprecated constants prior to OSX 10.10Julien Isorce2015-03-021-10/+18
|
* glbufferpool: Fix offset for odd heightNicolas Dufresne2015-03-011-1/+2
| | | | | | | | | We also need to recalculate the offset, since otherwise the frame mapping will be forward two lines in the U and V planes (I420) due to gst_video_info_align() round up the Y plane to a even number of lines. https://bugzilla.gnome.org/show_bug.cgi?id=745054
* glmemory: Support offset when downloadingNicolas Dufresne2015-02-281-2/+3
| | | | | | Make sure we support offset and video alignment when downloading too. This is currently not used (plane_start is always 0), but it makes the code correct if we want to use that later.
* glmemory: Provide correct size on uploadNicolas Dufresne2015-02-281-1/+4
| | | | | | | | Provide the right size to GL when uploading. Using maxsize is wrong since we offset the data point with the memory offset and video alignement offset. https://bugzilla.gnome.org/show_bug.cgi?id=744246
* glmemory: Provide correct size on downloadNicolas Dufresne2015-02-281-1/+2
| | | | | | | Provide the right size to GL when downloading. This fixes downloading from GLMemory that where created for libav. https://bugzilla.gnome.org/show_bug.cgi?id=744246
* glmemory: Use fallback for partial copyNicolas Dufresne2015-02-282-3/+19
| | | | | | | | When the memory is partial copy, the texture size and videoinfo no longer make sense. As we cannot guess what the application wants, we safely copy into a sysmem memory. https://bugzilla.gnome.org/show_bug.cgi?id=744246
* glmemory: Add GstAllocationParams and alignment supportNicolas Dufresne2015-02-285-61/+93
| | | | | | | | This implements support for GstAllocationParams and memory alignments. The parameters where simply ignored which could lead to crash on certain platform when used with libav and no luck. https://bugzilla.gnome.org/show_bug.cgi?id=744246
* glupload: perform egl upload on the gl threadMatthew Waters2015-02-281-15/+32
| | | | | | Fixes EGLImage usage on raspberry pi https://bugzilla.gnome.org/show_bug.cgi?id=743914
* aggregator: Use standard upstream latency querying logicArun Raghavan2015-02-271-101/+25
| | | | | The same functionality is duplicated in the default latency querying now.
* glupload: Set freed method implementation to NULLVíctor Manuel Jáquez Leal2015-02-261-1/+6
| | | | | | | | | | When trying to render buffers with meta:GLTextureUpload the glimagesink crashes with a segmentation fault. This patch workarounds this crash setting to NULL the method implementation after free. https://bugzilla.gnome.org/show_bug.cgi?id=745206
* glwindow: Deactivate window before changing handleEdward Hervey2015-02-241-1/+35
| | | | | | | | | | When setting a new window handle, we need to ensure all implementations will detect the change. For that we deactivate the context before setting the window handle, then reactivate the context https://bugzilla.gnome.org/show_bug.cgi?id=745090
* gl/egl: Detect window handle changesEdward Hervey2015-02-242-4/+38
| | | | | | | When (re)activating the context, the backing window handle might have changed. If that happened, destroy the previous surface and create a new one https://bugzilla.gnome.org/show_bug.cgi?id=745090
* gl: remove docbook related warningsLuis de Bethencourt2015-02-241-10/+6
|
* mpegts: Fix a compiler warningArun Raghavan2015-02-241-1/+1
| | | | | | | | Causes the following warning on clang: gst-dvb-section.c:567:36: error: format specifies type 'unsigned long' but the argument has type 'int' [-Werror,-Wformat] descriptors_loop_length, end - 4 - data); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
* glmemory: allow sharing between buffersMatthew Waters2015-02-251-2/+2
| | | | | There was no real reason why the flag was set. We should be able to handle it. Fixes last-sample handling on gl sinks
* glsyncmeta: add compat definition for gles2Matthew Waters2015-02-241-1/+3
|
* gl/calayer: don't use the async callback to renderMatthew Waters2015-02-241-1/+0
| | | | | not until we can provide equivalent functionality for other window implementations.
* glsyncmeta: also supported with gles3Matthew Waters2015-02-241-9/+10
|
* libgstgl: eagl: handle CALayer resizeAlessandro Decina2015-02-243-6/+26
|
* glmemory: Fix transfer_pbo memory leakVasilis Liaskovitis2015-02-231-0/+2
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=744977
* gl/cocoa: reduce custom main loop latencyJulien Isorce2015-02-221-1/+1
| | | | | | | | | | | | | | | | | | | | | This fix a very slow rendering rate regression that only happens when using gst-launch, i.e. in the case where the main thread does not run any NSApp loop. Git bisect reported it has been introduced by the commit e10d2417e2fe7aa4733c076984339b0d61caa169: "move to CGL and CAOpenGLLayer for rendering". Then the commit 7d463576271e5a4cc1070780ba1a69c971e8be1d: "gstglwindow_cocoa: fix slow render rate" attempted to fix the slow rendering rate problem when using gst-launch. At least for me it does not work. I tried several combinations, for example to flush CA transactions in the custom app loop, as mentioned in the doc, but the only solution that fixes the slow rendering is by reducing the loop latency. From what I tested, no need to put less than 60ms, even if the framerate has an interval much lower (16.6ms for 60 fps).
* gstglmemory: Remove now unused transfer_upload function.Mathieu Duponchelle2015-02-211-39/+0
|
* glmemory: disable automatic pbo uploadMatthew Waters2015-02-211-7/+0
| | | | until we can track where the data is/or is going to be.
* glememory: only store and act on the map flags on first/last map/unmapMatthew Waters2015-02-202-4/+9
| | | | | | | | | | Anytime else, we have no idea how to match up map and unmaps. We also don't know exactly how the calling code is using us. Also fixes the case where we're trying to transfer while someone else is accessing our data pointer or texture resulting in mismatched video frames. https://bugzilla.gnome.org/show_bug.cgi?id=744839
* aggregator: Use src_lock to protect latency related membersOlivier Crete2015-02-191-30/+21
| | | | | | | | | One has to use the src_lock anyway to protect the min/max/live so they can be notified atomically to the src thread to wake it up on changes, such as property changes. So no point in having a second lock. Also, the object lock was being held across a call to GST_ELEMENT_WARNING, guaranteeing a deadlock.
* aggregator: Remove untrue commentOlivier Crête2015-02-191-1/+0
|
* aggregator: Don't try to push tags while flush seekingOlivier Crête2015-02-191-1/+1
| | | | | | | The downstream segment could have been flushed already, so need to re-send the segment event before re-sending the tags. https://bugzilla.gnome.org/show_bug.cgi?id=742684
* aggregator: Use the sinkpads iterator directly to query upstream latenciesSebastian Dröge2015-02-191-12/+38
| | | | | | | | | While gst_aggregator_iterate_sinkpads() makes sure that every pad is only visited once, even when the iterator has to resync, this is not all we have to do for querying the latency. When the iterator resyncs we actually have to query all pads for the latency again and forget our previous results. It might have happened that a pad was removed, which influenced the result of the latency query.
* aggregator: Move gst_aggregator_get_latency_unlocked() a bitSebastian Dröge2015-02-191-43/+43
| | | | | | It was between another function and its helper function before, which was confusing when reading the code as it had nothing to do with the other functions.
* aggregator: Fail the latency query if one of the upstream queries failsSebastian Dröge2015-02-191-1/+6
|
* aggregator: Document locking orderOlivier Crête2015-02-181-0/+13
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=742684
* aggregator: Rename confusinly named SRC_STREAM_LOCK macros to SRC_LOCKOlivier Crête2015-02-181-53/+53
| | | | | | | This will match the name of the lock itself. It is also not a stream lock as it not recursive and not held while pushing. https://bugzilla.gnome.org/show_bug.cgi?id=742684
* aggregator: Rename confusingly named stream lock to flush lockOlivier Crête2015-02-181-13/+16
| | | | | | | This lock is not what is commonly known as a "stream lock" in GStremer, it's not recursive and it's taken from the non-serialized FLUSH_START event. https://bugzilla.gnome.org/show_bug.cgi?id=742684
* aggregator: Fix macro indendationOlivier Crête2015-02-181-10/+10
| | | | | | Changes no code https://bugzilla.gnome.org/show_bug.cgi?id=742684
* adaptivedemux: add bitrate-limit propertyThiago Santos2015-02-172-1/+24
| | | | | | Move the property from subclasses to adaptivedemux, it allows selecing the percentage of the measured bitrate to be used when selecting stream bitrates