summaryrefslogtreecommitdiff
path: root/ext
Commit message (Collapse)AuthorAgeFilesLines
* handdetect: remove unnecessary variable.Vanessa Chipirrás Navalón2015-08-182-7/+0
| | | | | | | Memory is reserved for this variable and then released without making any use of it. https://bugzilla.gnome.org/show_bug.cgi?id=752528
* handdetect: check CvHaarClassifierCascade is release before being modified.Vanessa Chipirrás Navalón2015-08-181-0/+4
| | | | | | | Make sure a previous cascade, if it exists, is released before loading a new XML file onto it. https://bugzilla.gnome.org/show_bug.cgi?id=752528
* handdetect: code refactoring of gst_handdetect_load_profile.Vanessa Chipirrás Navalón2015-08-181-23/+21
| | | | | | Change gst_handdetect_load_profile() so it can be used generically. https://bugzilla.gnome.org/show_bug.cgi?id=752528
* daalaenc: Fix buildSebastian Dröge2015-08-181-86/+90
| | | | | And also only generate the supported caps once, not on every CAPS/ACCEPT_CAPS query. It's not that cheap.
* x265enc: add accept-caps handlingThiago Santos2015-08-171-0/+27
| | | | | | Ovewrite default handling to avoid doing a caps query. Check the received caps against the possible formats supported by the x265 library.
* daalaenc: add accept-caps handlingThiago Santos2015-08-171-0/+29
| | | | | | Ovewrite default handling to avoid doing a caps query. Check the received caps against the possible formats supported by the daala library.
* videoencoders: use template subset check for accept-capsThiago Santos2015-08-173-0/+6
| | | | | | | It is faster than doing a query that propagates downstream and should be enough Elements: openjpegenc, schroenc, webpenc, pnmenc
* opencv: support alternative path conventionLuis de Bethencourt2015-08-172-2/+2
| | | | | | | | Some distributions store OpenCV files in /usr/share/opencv and some others (and default when building from source) install them in /usr/share/OpenCV. Support both to find cascade files. https://bugzilla.gnome.org/show_bug.cgi?id=753651
* dashdemux: link against gio for g_resolver and g_inet_address_from_stringRico Tzschichholz2015-08-171-0/+2
| | | | Add missing gio-2.0 CFLAGS/LIBS to fix linker failure
* audioencoders: use template subset check for accept-capsThiago Santos2015-08-176-0/+8
| | | | | | | It is faster than doing a query that propagates downstream and should be enough Elements: faac, gsmenc, opusenc, sbcenc, voamrwbenc, adpcmenc, sirenenc
* voaacenc: Remove custom getcaps and just use the templateThiago Santos2015-08-171-73/+7
| | | | | We know from the beginning the caps that are acceptable, no need for custom getcaps or manually generating caps.
* voaacenc: add version to gst-launch string on documentationThiago Santos2015-08-171-1/+1
| | | | gst-launch will call the 0.10 version, we want 1.0
* faac: make template pad caps more accurate and remove custom getcapsThiago Santos2015-08-171-59/+46
| | | | | Allows reusing baseclass caps query handling and simplifying negotiation code.
* mpg123: still reset pending audio info on hard flushTim-Philipp Müller2015-08-171-0/+2
| | | | | | Follow-up to previous commit. https://bugzilla.gnome.org/show_bug.cgi?id=752431
* mpg123: fix handling of sample rate change during playbackJason Litzinger2015-08-171-1/+0
| | | | | | | | If the sample rate of the media changes, the resulting flush will clear the has_next_audioinfo flag, and the caps won't be sent downstream. https://bugzilla.gnome.org/show_bug.cgi?id=752431
* dashdemux: fix off by one seeking issueThiago Santos2015-08-161-3/+6
| | | | | | | | When seeking to the last second of a mpd it would reject the seek because the comparison was < instead of <= This fails the important use case of seeking to the end of a file to play it back in reverse from the end
* mpdparser: Free UTCTiming struct if there are no values associated with itSebastian Dröge2015-08-161-0/+3
| | | | CID 1316479
* audiodecoders: use default pad accept-caps handlingThiago Santos2015-08-156-0/+19
| | | | | | | | Avoids useless check of downstream caps when handling an accept-caps query Elements: dtsdec, faad, gsmdec, mpg123audiodec, opusdec, sbcdec, adpcmdec, sirendec
* videodecoders: use default pad accept-caps handlingThiago Santos2015-08-157-0/+21
| | | | | | | | Avoids useless check of downstream caps when handling an accept-caps query Elements: daaladec, libde265dec, openjpegdec, rsvgdec, schrodec, webpdec, pnmdec, vmncdec, openexrdec
* glsink: Enable sync meta on pools we offerNicolas Dufresne2015-08-152-0/+5
| | | | | | As the upload is asynchronous, we need to enable the sync meta to gain correct rendering. The buffer pool receiver don't know about that.
* gtkglsink: Add overlay composition supportNicolas Dufresne2015-08-153-0/+93
| | | | | Rendering composition overlay in GL with additional high resolution overlay being added.
* gtkglsink: Fix unsafe handling of buffer life timeNicolas Dufresne2015-08-154-32/+58
| | | | | | We need to keep the active buffer (the one we have retreive a texture id from) otherwise it's racy and upstream may upload new content before we have rendered or during later redisplay.
* gtkglsink: Remove reset pathNicolas Dufresne2015-08-153-48/+0
| | | | | The reset path is bogus and there is no reason to get rid of these things during resize.
* glimagesink: Move overlay rendering after video renderingNicolas Dufresne2015-08-151-2/+2
| | | | | | This is mostly cosmetic, but heoretically it reduces the amount of required object in the context at one point. It also avoids potential conflicts.
* facedetect: Refactor the codeVanessa Chipirrás Navalón2015-08-141-27/+28
| | | | | | Some lines of code are repeated several times, therefore this lines are simplified with a inline function, that this is proper style of C++.
* dashdemux: add support for HTTP HEAD method of time syncAlex Ashley2015-08-141-5/+131
| | | | | | | | | | | | | | | | | The urn:mpeg:dash:utc:http-head:2014 method of time synchronisation uses an HTTP HEAD request to a specified URL and then parses the Date: HTTP response header. This commit adds support to dashdemux for this method of time synchronisation by making a HEAD request and then parsing the Date: response. This commit adds support to gstfragment to return the HTTP headers and to uridownloader to support HEAD requests. To avoid creating a new API, the RANGE get function is re-used (abused?) with start=-1 and end=-1 to indicate a HEAD request. https://bugzilla.gnome.org/show_bug.cgi?id=752413
* dashdemux: post-review fixup of UTCTiming elementAlex Ashley2015-08-141-2/+34
| | | | | | | | | | | | | | This commit addresses the following items from the code review: use a portable way to define NTP_TO_UNIX_EPOCH, fix memory leak on error, and add documentation to UTCTiming parse functions Using LL is not portable, so the G_GUINT64_CONSTANT needs to be instead. If an error occurs during DNS resolution, the GError was not being released, causing a memory leak. https://bugzilla.gnome.org/show_bug.cgi?id=752413
* dashdemux: add support for UTCTiming elements for clock drift compensationAlex Ashley2015-08-145-5/+484
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Unless the DASH client can compensate for the difference between its clock and the clock used by the server, the client might request fragments that either not yet on the server or fragments that have already been expired from the server. This is an issue because these requests can propagate all the way back to the origin ISO/IEC 23009-1:2014/Amd 1 [PDAM1] defines a new UTCTiming element to allow a DASH client to track the clock used by the server generating the DASH stream. Multiple UTCTiming elements might be present, to indicate support for multiple methods of UTC time gathering. Each element can contain a white space separated list of URLs that can be contacted to discover the UTC time from the server's perspective. This commit provides parsing of UTCTiming elements, unit tests of this parsing and a function to poll a time server. This function supports the following methods: urn:mpeg:dash:utc:ntp:2014 urn:mpeg:dash:utc:http-xsdate:2014 urn:mpeg:dash:utc:http-iso:2014 urn:mpeg:dash:utc:http-ntp:2014 The manifest update task is used to poll the clock time server, to save having to create a new thread. When choosing the starting fragment number and when waiting for a fragment to become available, the difference between the server's idea of UTC and the client's idea of UTC is taken into account. For example, if the server's time is behind the client's idea of UTC, we wait for longer before requesting a fragment [PDAM1]: http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=66068 dashdemux: support NTP time servers in UTCTiming elements Use the gst_ntp_clock to support the use of an NTP server. https://bugzilla.gnome.org/show_bug.cgi?id=752413
* Revert "srtpdec: Add support for buffer list"Sebastian Dröge2015-08-131-141/+1
| | | | | | | | | This reverts commit ff11a1a8a0c685d2edd0e06c0071cbb94f2cb663. It can't be assumed that all buffers in a buffer list have the same SSRC or are RTP or RTCP only. It has to be checked for every single buffer, and one basically has to do the processing that is done by the default chain_list implementation.
* glimagesink: take into account non 1/1 par for navigationMatthew Waters2015-08-121-12/+45
| | | | | | The current code was ignoring the par/dar aspect when transforming from window coordinates to stream coordinates resulting in incorrect coordinates being sent upstream in the navigation events.
* gtk: fix motion event nameMatthew Waters2015-08-121-1/+1
| | | | | | s/motion/mouse/ Fixes hover interaction with DVD menus
* gtk: correct navigation events for window scalingMatthew Waters2015-08-121-2/+75
| | | | | | | i.e. take into account the possiblity of scaling in the sink or through GDK_SCALE. Fixes DVD Menus with a scaled gtkwidget
* gtk: implement GstNavigation interfaceMatthew Waters2015-08-113-1/+142
| | | | Now we can push key/mouse input into the pipeline for DVD use cases.
* opus: Copy metadata in the (de)payloader, but only the relevant onesSebastian Dröge2015-08-112-0/+59
| | | | | | | | The payloader didn't copy anything so far, the depayloader copied every possible meta. Let's make it consistent and just copy all metas without tags or with only the audio tag. https://bugzilla.gnome.org/show_bug.cgi?id=751774
* facedetect: wrong form to write the delete operatorVanessa Chipi2015-08-111-1/+1
| | | | | The delete operator is written this way: delete (cascade). This way is misspelled, it is an operator, not a function. Delete the parentheses.
* facedetect: simplify repeated code.vanechipi2015-08-111-3/+4
| | | | | Store the value of r.height / 2 instead of repeating the operation line three times.
* facedetect: Redundancy exists in code.vanechipi2015-08-111-7/+7
| | | | | | | Checking the vector is not empty and checking the vector size is greater than zero are the same thing, this is a redundancy in the code. Only checking the vector is not empty is sufficient, therefore removing the other check.
* gl: use gles2 shaders everywhereMatthew Waters2015-08-1022-466/+84
| | | | | This effectively limits a glfilter subclass to be > GL(ES) 2.0. rather than a possible GL 1.4.
* gltransformation: implement pivot point for rotation and scaleLubosz Sarnecki2015-08-082-2/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://bugzilla.gnome.org/show_bug.cgi?id=744763 Add a pivot vector for setting the origin of rotations and scales. With the pivot point the rotation and scale operations can have different origins. This adds the ability to rotate around different points. Currently the default (0, 0) pivot point is possible, a rotation around the center, and zooming into and out of the center. With an pivot point this is optional. I defined the following image coordinates for the pivot point: (-1,1) ------------------------- (1,1) | | | | | | | (0,0) | | | | | | | (-1,-1) ------------------------- (1,-1) Example: Rotate the video at the bottom left corner gst-launch-1.0 videotestsrc \ ! gltransformation \ scale-x=0.5 \ scale-y=0.5 \ rotation-z=25.0 \ pivot-x=-1.0 \ pivot-y=-1.0 \ ! glimagesink The pivot-z option defines the pivot point in 3D space. This only affects rotation, since we have no Z data to scale. With this option a video can be rotated around a point in 3D space. Example: Rotate around point behind the video: gst-launch-1.0 videotestsrc \ ! gltransformation \ rotation-x=10.0 \ pivot-z=-4.0 \ ! glimagesink
* qml: implement the required multiple GL context synchonisationMatthew Waters2015-08-083-5/+40
| | | | From GStreamer's GL context into the QML context
* facedetect: fix profile loading checkLuis de Bethencourt2015-08-071-2/+5
| | | | | | | Since the profile gchar depends on DEFAULT_FACE_PROFILE, it should never be NULL. Furthermore CascadeClassifier accepts any input, even an empty one, but if the profile fails to load it returns an empty cascade. Check for this instead, and inform the user if there was an Error.
* hlsdemux: don't warn about duration if it is not knownThiago Santos2015-08-071-2/+5
| | | | And also print the values in case of warning
* configure: update OpenCV requirements to 2.3.0Luis de Bethencourt2015-08-076-31/+10
| | | | | | | With facedetect ported to C++ the minimum version of OpenCV supported is 2.3.0 https://bugzilla.gnome.org/show_bug.cgi?id=748377
* dashdemux: Fix leak in gst_dash_demux_stream_update_fragment_info()Florin Apostol2015-08-061-0/+1
| | | | | | | | | | | | | | The gst_dash_demux_stream_update_fragment_info function could call gst_dash_demux_stream_update_headers_info function twice. The gst_dash_demux_stream_update_headers_info function will set header_uri and index_uri to some newly allocated strings. The values set by the first call of gst_dash_demux_stream_update_headers_info will leak when the function is called for a second time. The solution is to call gst_adaptive_demux_stream_fragment_clear before the second call of gst_dash_demux_stream_update_headers_info https://bugzilla.gnome.org/show_bug.cgi?id=753188
* opencv: facedetect: free IplImage with cvReleaseImageLuis de Bethencourt2015-08-051-2/+2
| | | | | Using delete() with IplImage will fail to free some of the structure's contents. cvReleaseImage() is the proper way of freeing the memory.
* opencv: facedetect: check pointer before using itLuis de Bethencourt2015-08-051-6/+4
| | | | | | | | Check if profile is NULL before dereferencing it with new. Also, new will never return NULL; if allocation fails, a std::bad_alloc exception will be thrown instead. Remove check for a NULL return. CID #1315258
* x265enc: remove dead codeLuis de Bethencourt2015-08-051-4/+0
| | | | | | level_ok is only used in a check that will never be true, removing it. CID #1315255
* x265enc: fix memory leakLuis de Bethencourt2015-08-051-2/+3
| | | | | | Free vps_nal before returning. CID #1315257
* rsvg: Don't leak a GstVideoCodecStateCarlos Garnacho2015-08-041-2/+1
| | | | | | | There's already the output_state variable with it, no need to call gst_video_decoder_get_output_state() and get a new ref. https://bugzilla.gnome.org/show_bug.cgi?id=753262
* opencv: facedetect: fix crashes in finalizeTim-Philipp Müller2015-08-041-8/+8
| | | | Fixes gst-inspect-1.0 -a crashing.