Commit graph

20779 commits

Author SHA1 Message Date
Sebastian Dröge
08db4f267d androidcamera: Implement LATENCY query 2016-01-21 12:44:42 -05:00
Sebastian Dröge
6cdd4745fe androidcamera: Make sure we always have a valid camera source instance in the buffer free function 2016-01-21 12:44:42 -05:00
Sebastian Dröge
f43897e839 androidcamera: Make sure to not call any callbacks after stopping the camera
Fixes segfaults when rotating the device for example.
2016-01-21 12:44:41 -05:00
Youness Alaoui
1a2bcc769c androidcamera: Fix timestamping issue 2016-01-21 12:44:41 -05:00
Youness Alaoui
25896c5ab7 androidcamera: Add caps negotiation support 2016-01-21 12:44:41 -05:00
Youness Alaoui
bb83c54a87 Add support for getcaps that probes the camera for capabilities 2016-01-21 12:44:41 -05:00
Youness Alaoui
4856d22b9f androidmedia: Drop the first buffer to have proper timestamping 2016-01-21 12:44:40 -05:00
Youness Alaoui
0083adbbed androidmedia: Flush the queue when the source is stopped 2016-01-21 12:44:40 -05:00
Youness Alaoui
dd27b89e95 androidmedia: Allocate/free texture when camera is open/closed 2016-01-21 12:44:40 -05:00
Youness Alaoui
d4717a9639 androidmedia: add a gst_ahc_src_close function 2016-01-21 12:44:39 -05:00
Youness Alaoui
54f3337bd1 androidmedia: Fix small indentation issues 2016-01-21 12:44:39 -05:00
Youness Alaoui
aa390e1be4 androidmedia: Disable plugin if android-sdk isn't found and dynamically search for platform version 2016-01-21 12:44:39 -05:00
Youness Alaoui
e78143f839 androidcamera: Add support for using DexLoader with Embeded GstAhcCallback.jar 2016-01-21 12:44:39 -05:00
Youness Alaoui
d56f094ce6 androidcamera: Fix compilation issues 2016-01-21 12:44:38 -05:00
Youness Alaoui
e42e7317f9 Remove previous cruft and create androidcamera plugin 2016-01-21 12:44:38 -05:00
Youness Alaoui
91219adaf2 Free the buffers and readd the arrays when the queue is cleared 2016-01-21 12:44:38 -05:00
Youness Alaoui
65a6014f26 Add a GST_DVM_CALL macro to ease function calling with exception check 2016-01-21 12:44:37 -05:00
Youness Alaoui
7b8dbd32db Calculate timestamp at reception of the buffer, not when pushing it out 2016-01-21 12:44:37 -05:00
Youness Alaoui
fff14b255c Make the number of callback buffers configurable, and delete their local ref 2016-01-21 12:44:37 -05:00
Youness Alaoui
3c78395e31 Use GstDataQueue instead of GAsyncQueue for storing buffers 2016-01-21 12:44:37 -05:00
Youness Alaoui
4cbfe6fa13 Use the buffer's free_func to map byteArray data without making a copy 2016-01-21 12:11:16 -05:00
Youness Alaoui
af47c1ebdc Remove open failure test code and debug log 2016-01-21 12:11:16 -05:00
Youness Alaoui
666eda11d6 Use YV12 as the default format 2016-01-21 12:11:16 -05:00
Youness Alaoui
7562cc2e26 Add a deinit function and remove jclass references in case of error 2016-01-21 12:11:15 -05:00
Youness Alaoui
37685f09e0 SurfaceTexture constructure needs texture_id 2016-01-21 12:11:15 -05:00
Youness Alaoui
484b0ae658 Add ahcsrc Camera source element prototype 2016-01-21 12:11:15 -05:00
Youness Alaoui
4b975b204c Add android.hardware.Camera (and deps) JNI wrappers 2016-01-21 12:11:14 -05:00
Youness Alaoui
21f60289db Adding Dalvik Virtual Machine routines and macros 2016-01-21 12:11:14 -05:00
Youness Alaoui
347dbf123d androidmedia: Add androidmedia plugin 2016-01-21 12:11:14 -05:00
Sebastian Dröge
5b04e77c0c spandsp: Add tone generator 2016-01-21 16:53:41 +02:00
Hyunjun Ko
a274299f48 mpegtsmux: set non-0 payload length in PES header if video ES packet is small enough
https://bugzilla.gnome.org/show_bug.cgi?id=748507
2016-01-19 19:32:27 +00:00
Hyunjun Ko
f9ef150652 mpegtsmux: reset pes_bytes_written when starting to write new PES packet
In case of an unbounded packet (video usually), pes_bytes_written was
no reset.

https://bugzilla.gnome.org/show_bug.cgi?id=748507
2016-01-19 19:19:38 +00:00
Tim-Philipp Müller
ab5aab60a9 mpegtsmux: add support for H.265/HEVC video
https://bugzilla.gnome.org/show_bug.cgi?id=744367
2016-01-19 17:08:50 +00:00
Tim-Philipp Müller
6e79d54ae5 gl: fix compiler warnings with gcc-6
In file included from effects/gstgleffectrgbtocurve.c:25:0:
effects/gstgleffectscurves.h:174:32: error: 'xray_curve' defined but not used
 static const GstGLEffectsCurve xray_curve = {
...
2016-01-19 13:20:23 +00:00
Tim-Philipp Müller
e317a350bc libs: g-i: fix init section to avoid compiler warnings
..GstPlayer-1.0.c: In function ‘main’:
..GstPlayer-1.0.c:587:3: warning: implicit declaration of function ‘gst_init’

https://bugzilla.gnome.org/show_bug.cgi?id=760090
2016-01-19 08:40:35 +00:00
Alessandro Decina
5c7fb644cd applemedia: vtenc: fix build on iOS 2016-01-19 19:18:43 +11:00
Alessandro Decina
f6154b4cc0 applemedia: always fill GstBuffers with GstMemory
Always fill buffers with our custom memory. The custom memory will avoid
mapping CV/CM buffers unless necessary.
2016-01-19 16:13:04 +11:00
Ilya Konstantinov
8577224c74 applemedia: implement copying of meta
Before this, buffers would lose their Core Video / Core Media meta
over intervideo* boundary.

https://bugzilla.gnome.org/show_bug.cgi?id=747216
2016-01-19 13:06:31 +11:00
Ilya Konstantinov
936b2fdfbc applemedia: implement GstAppleCoreVideoMemory
Implement a new memory type wrapping CVPixelBuffer.

There are two immediate advantages:
 a) Make the GstMemory itself retain the CVPixelBuffer. Previously,
    the containing GstBuffer was solely responsible for the lifetime of
    the backing CVPixelBuffer.

    With this change, we remove the GST_MEMORY_FLAG_NO_SHARE so that
    GstMemory objects be referenced by multiple GstBuffers (doing away
    with the need to copy.)

  b) Delay locking CVPixelBuffer into CPU memory until it's actually
     mapped -- possibly never.

The CVPixelBuffer object is shared among references, shares and
(in planar formats) planes, so a wrapper GstAppleCoreVideoPixelBuffer
structure was introduced to manage locking.

https://bugzilla.gnome.org/show_bug.cgi?id=747216
2016-01-19 12:58:43 +11:00
Alessandro Decina
ed7df2da3c applemedia: iosurfacememory: alloc with g_new0
...since the base class doesn't use g_slice anymore
2016-01-19 12:56:40 +11:00
Florin Apostol
88f509a710 dashdemux: added check that availabilityStartTime is present for live streams
https://bugzilla.gnome.org/show_bug.cgi?id=757602
2016-01-18 15:12:07 -03:00
Florin Apostol
2918dff2e0 adaptivedemux: improved error message if availabilityStartTime is missing for a live stream
For a live mpd, if availabilityStartTime is missing, adaptive demux asserts
with: Unexpected critical/warning: gst_date_time_to_g_date_time: assertion
'datetime != NULL' failed.

This patch improves the error message to:
Unexpected critical/warning: gst_mpd_client_seek_to_time: assertion
'client->mpd_node->availabilityStartTime != NULL' failed

https://bugzilla.gnome.org/show_bug.cgi?id=757602
2016-01-18 15:12:07 -03:00
Florin Apostol
38d7434bab tests: adaptive-stremaing: fix memory leak in test_http_src
https://bugzilla.gnome.org/show_bug.cgi?id=760600
2016-01-18 13:09:45 +00:00
Matt Crane
eba01f84e5 shmsink: fix possible deadlock in _render()/ _allocator_free()
Drop object lock before unrefing memory, otherwise the object
lock might be taken again from the allocator and then things
deadlock.

https://bugzilla.gnome.org/show_bug.cgi?id=760551
2016-01-16 21:46:28 +00:00
Sebastian Dröge
3184175dae glfilter: First make caps writable in fixate_caps(), then truncate them
Truncating requires writable caps.
2016-01-16 17:14:54 +02:00
Sebastian Dröge
c08c795bb4 glcolorconvert: Caps passed to fixate_caps() are not owned by us and guaranteed to be fixed
So don't try to fixate them, which takes ownership and steals them from
basetransform.

https://bugzilla.gnome.org/show_bug.cgi?id=760696
2016-01-16 17:12:29 +02:00
Sebastian Dröge
2018167ee2 Revert "glpool: fix caps refcount issue"
This reverts commit 3bdcdedfa0.

gst_caps_replace() takes a new reference already, if there is a problem then
it is elsewhere. And there are a few problems, see
https://bugzilla.gnome.org/show_bug.cgi?id=760696
2016-01-16 16:55:42 +02:00
Luis de Bethencourt
63ffe374ab rtph265depay: fix unneeded sub-buffer creation
We create a sub-buffer just to copy over its metas and then throw it
away immediately, just use the original input buffer directly.
2016-01-15 16:10:04 +00:00
Luis de Bethencourt
6f8f82164a rtph265pay: add "send VPS/SPS/PPS with every key frame" mode
It's not enough to have timeout or event based VPS/SPS/PPS information
sent in RTP packets. There are some scenarios when key frames may appear
more frequently than once a second, in which case the minimum timeout
for "config-interval" of 1 second for sending VPS/SPS/PPS isn't enough.
It might also be desirable in general to make sure the VPS/SPS/PPS is
available with every keyframe (packet loss aside), so receivers can
actually pick up decoding immediately from the first keyframe if
VPS/SPS/PPS is not signaled out of band.

This commit adds the possibility to send VPS/SPS/PPS with every key frame.
This mode can be enabled by setting "config-interval" property to -1. In
this case the payloader will add VPS, SPS and PPS before every key (IDR)
frame.

https://bugzilla.gnome.org/show_bug.cgi?id=757892
2016-01-15 15:57:41 +00:00
Luis de Bethencourt
31a7ad77b6 rtph265pay: change config-interval property type from uint to int
This way we can use -1 as special value, which is nicer than MAXUINT.

https://bugzilla.gnome.org/show_bug.cgi?id=757892
2016-01-15 15:19:47 +00:00