Commit graph

22519 commits

Author SHA1 Message Date
Hyunjun Ko
a997a99fdd h264parse: fix some failures in testcases
Move logic of judgement whether or not to insert AU Delimiter before
draining.
Besides, aud_needed flag is reset to TRUE when skip.

https://bugzilla.gnome.org/show_bug.cgi?id=736213
2017-03-08 14:18:18 +02:00
Nick Kallen
0968bad8a4 applemedia: avfvideosrc supports position, device-type, and orientation
Avfvideosrc represents an iphone camera or, on mac, a screencapture session.
The old API allowed you to select an input device by device index only. The new
API adds the ability to select the position (front or back facing) and
device-type (wide angle, telephoto, etc.). Furthermore, you can now specify
the orientation (portrait, landscape, etc.) of the videostream.

https://bugzilla.gnome.org/show_bug.cgi?id=778333
2017-03-07 13:39:19 +02:00
Nick Kallen
46bbc60d24 applemedia/gl: Update code to use ARC
All code interacting with Objective-C objects should now use Automated
Reference Counting rather than manual memory management or Garbage
Collection. Because ARC prohibits C-structs from containing
references to Objective-C objects, all such fields are now typed
'gpointer'. Setting and gettings Objective-C fields on such a
struct now uses explicit __bridge_* calls to tell ARC about
object lifetimes.

https://bugzilla.gnome.org/show_bug.cgi?id=777847
2017-03-07 13:37:07 +02:00
Hyunjun Ko
201e71c3aa h264parse: insert AU delimiter only in case of byte-stream
Inserts AU delimeter by default if missing au delimeter from upstream.
This should be done only in case of byte-stream format.

Note that:
We have to compensate for the new bytes added for the AU, otherwise
insertion of PPS/SPS will use wrong offsets and overwrite wrong data.

Also mark the AU delimiter blob const, and use frame->out_buffer for
storing the output to keep baseparse assumptions valid.

Original-Patch-By: Michal Lazo <michal.lazo@mdragon.org>
Helped by Sebastian Dröge <sebastian@centricular.com>

https://bugzilla.gnome.org/show_bug.cgi?id=736213
2017-03-07 13:27:33 +02:00
George Kiagiadakis
08c52c931e videoaggregator: redo src caps negotiation if a sink pad's caps have changed in the meantime
https://bugzilla.gnome.org/show_bug.cgi?id=755782
2017-03-06 17:20:56 +02:00
Arun Raghavan
b7065f5f8e gl: Missed one backwards compat define in GST_GL_TYPE_CONTEXT
Continued from 296b4251e3
2017-03-06 17:52:31 +05:30
Seungha Yang
3c5eae63c0 hlsdemux: Try to find type at the end of a fragment
hlsdemux tries to find type if given buffer size is large enought to
find type (currently the threshold is 2KB), or EOS in some cases.
However, since there can be small byte fragments such as WebVTT,
demux should try to find type at the end of a fragment

https://bugzilla.gnome.org/show_bug.cgi?id=779011
2017-03-06 10:09:20 +02:00
Tim-Philipp Müller
a5e540bf55 voaacenc: limit bitrate property to 320 kbps
This appears to be the internal limit of voaacenc, higher
bitrates will be ignored and 128 kbps output will be produced
instead. Therefore, we might just as well limit the allowed
property values, so that people who try to set higher bitrates
get a big fat warning instead of silently a much lower bitrate.
2017-03-06 00:30:41 +00:00
Nick Kallen
6e4354600d applemedia: Fix video texture cache build issue on MacOS
https://bugzilla.gnome.org/show_bug.cgi?id=779247
2017-03-04 17:35:23 +02:00
Nick Kallen
e557e93f3b applemedia: ensure all textures are released before texturecache is released
It was previously possible for videotexturecache to be finalized before all of
its textures. Finalizing outstanding textures in this circumstance leads
to a crash. This patch ensure resources are freed in the proper order.

https://bugzilla.gnome.org/show_bug.cgi?id=779247
2017-03-04 11:59:57 +02:00
Sebastian Dröge
be1eeba67d gl: Fixup for last commit 2017-03-04 11:47:04 +02:00
Sebastian Dröge
296b4251e3 gl: Fix backwards compat GST_GL_TYPE_* functions/macros
These have to be macros instead of inline function as they must behave
more or less like an integer literal, i.e. include the function call.
2017-03-04 11:17:35 +02:00
Sebastian Dröge
a0199d17a1 gl/viv-fb: Don't use deprecated symbols and make macros more consistent
https://bugzilla.gnome.org/show_bug.cgi?id=778825
2017-03-04 11:17:35 +02:00
Sebastian Dröge
c3d21053aa audiomixmatrix: Fix negotiation in first-channels mode if downstream does not allow the same number of channels 2017-03-03 15:18:40 +02:00
Dongil Park
ffbe690656 hlsdemux: Fix checking adaptation_field_control field to parse pcr
The PCR_flag and PCR value is in adaptation_field, not in payload.
The MSB of adaptation_field_control is used as whether adaptation_
field is exist or not.

For the case(PCR in only adaptation_field without payload), we modify
checking condition about adaptation_field_control field.

https://bugzilla.gnome.org/show_bug.cgi?id=778731
2017-03-03 14:20:45 +11:00
Seungha Yang
5bd4bc8080 hls: Fix various leak on hlsdemux and m3u8
* default_variant should be freed, it holds ref.
* GstHLSMedia holds GstM3U8 ref.
* gst_m3u8_get_next_fragment() increases ref count.

https://bugzilla.gnome.org/show_bug.cgi?id=778073
2017-03-02 20:24:00 +02:00
Seungha Yang
e28ddbdf77 tests: hls: Fix leak on test code
https://bugzilla.gnome.org/show_bug.cgi?id=778073
2017-03-02 20:24:00 +02:00
Wojciech Przybyl
8eb87ce5dc dashdemux: fix default suggestedPresentationDelay
When MPD@suggestedPresentationDelay is not present in the MPD,
dashdemux can provide default suggestedPresentationDelay. However
when applying default value of suggestedPresentationDelay, the value
should be subtracted from current time, not added to it. When streams
setup is performed and live point is calculated, we have to go to the
wall clock (current time) minus suggestedPresentationDelay, if we tried
to start with current time plus suggestedPresentationDelay, we would
be asking for future stream, which has not yet been recorded. Also
the value needs to be converted from ms to us.

https://bugzilla.gnome.org/show_bug.cgi?id=764726
2017-03-02 20:11:55 +02:00
Alex Ashley
e1b68d9a65 adaptivedemux: answer duration queries for live streams
For duration queries on live streams, adaptivedemux ignores the query.
The problem then is that the query is answered by the downstream
qtdemux element, with the duration of the currently passing fragment.

This commit changes the behaviour of adaptivedemux to answer the duration
queries for live streams, returning GST_CLOCK_TIME_NONE.

    https://bugzilla.gnome.org/show_bug.cgi?id=753879
2017-03-02 19:54:04 +02:00
Seungha Yang
b2e9891f8a hlsdemux: Implement adaptivedemux's _stream_seek()
_stream_seek() can be called by adaptivedemux when "restart download" condition.
It's mostly caused by track switching.

https://bugzilla.gnome.org/show_bug.cgi?id=776997
2017-03-02 19:25:48 +02:00
Seungha Yang
78b2169c32 hlsdemux: Simplify seeking code by using macro
Import an adaptivedemux's macro to minimize code.
Also, this patch considers KEY_UNIT and TRICKMODE_KEY_UNITS
as snap seek.

https://bugzilla.gnome.org/show_bug.cgi?id=776997
2017-03-02 19:25:48 +02:00
Seungha Yang
32c4850b33 hlsdemux: Early terminate seeking if we don't need to do
Some codes are imported from dashdemux

https://bugzilla.gnome.org/show_bug.cgi?id=776997
2017-03-02 19:25:48 +02:00
Thomas Bluemel
9ce5646a0f hlsdemux: Add support for EXT-X-DISCONTINUITY-SEQUENCE
https://bugzilla.gnome.org/show_bug.cgi?id=772811
2017-03-02 19:05:57 +02:00
Thomas Bluemel
8d10d29c24 adaptivemutex: Fix double mutex unlock
https://bugzilla.gnome.org/show_bug.cgi?id=779480
2017-03-02 19:02:32 +02:00
Sebastian Dröge
6da14bdb88 openexrdec: Also catch other exceptions by reference instead of by value
It would have to be copied otherwise, and is quite big.

CID 1373419
2017-03-01 15:29:42 +02:00
Sebastian Dröge
ce4df5311b decklinkvideosink: Don't error out if displaying the preroll frame fails
This seems to happen sometimes on some hardware, and is not really
critical as long as the scheduling of the normal frames works fine.

Only post a warning message for this case.
2017-03-01 12:08:58 +02:00
Sebastian Dröge
4d434c7db5 openexrdec: Catch exception by reference instead of by value
It would have to be copied otherwise, and is quite big.

CID 1373419
2017-02-28 15:56:02 +02:00
Sebastian Dröge
ef70cd48c6 dashdemux: Fix potential NULL pointer dereference
CID 1399700
2017-02-28 15:53:10 +02:00
Sebastian Dröge
95b85eae5a hlsdemux: Compare media type of the correct variable that is actually set
CID 1364752
2017-02-28 15:31:53 +02:00
Sebastian Dröge
0661a5aded gltestsrc: Fix potential NULL pointer dereference if we fail without GError
Which can happen here if we just propagate an error that happened
elsewhere, e.g. FBO failed.

CID 1364604
2017-02-28 15:23:55 +02:00
Sebastian Dröge
a064590912 glvideomixer/compositor: Correctly error out if calculating DAR fails
CID 1320700
2017-02-28 13:06:41 +02:00
Sebastian Dröge
d520d1b3ed motioncells: Initialize m_changed_datafile class field
CID 1197704
2017-02-28 12:53:11 +02:00
Sebastian Dröge
40d76ea7a5 gme: Remove useless comparison of unsigned integer with < 0
CID 206187
2017-02-28 12:46:42 +02:00
Sebastian Dröge
fef775d703 glcolorconvert: Check return value of gst_gl_context_check_framebuffer_status()
CID 1401588
2017-02-28 12:34:30 +02:00
Sebastian Dröge
9bd30e0277 gl: Add viv-fb to DIST_SUBDIRS to fix "make distcheck" 2017-02-28 12:31:54 +02:00
Sebastian Dröge
92bb56d137 gl: Rename gst_gl_get_affine_transformation_meta_as_ndc_ext() to prevent symbol conflict
The same symbol also exists in libgstgl, although marked as private and
internal. This has no effect when doing static linking and there's a
symbol conflict.
2017-02-28 10:55:10 +02:00
Sebastian Dröge
c9b5bee53d glutils: Mark private functions as G_GNUC_INTERNAL 2017-02-28 10:55:10 +02:00
Edward Hervey
fcf87ef2bf mpegtsdemux: Fix wrong usage of '<<' operator
Detected by GCC 7.

Add comments for clarity

https://bugzilla.gnome.org/show_bug.cgi?id=779333
2017-02-28 09:27:41 +01:00
Nicolas Dufresne
266324b97a audiomixmatric: Add missing libm deps for meson 2017-02-27 21:22:30 -05:00
Thibault Saunier
b75a61342f h264parse: Include interlace-mode in caps
Those are the rules:

In the SPS:
  * if frame_mbs_only_flag=1 => all frame progressive
  * if frame_mbs_only_flag=0 => field_pic_flag defines if each frame is
    progressive or interlaced, thus the mode is 'mixed' in GStreamer
    terms.

https://bugzilla.gnome.org/show_bug.cgi?id=779309
2017-02-27 15:28:31 -03:00
Thibault Saunier
40c74694ab iqa: Plug a leak allocating twice the same data 2017-02-27 15:28:31 -03:00
Sebastian Dröge
c11e93c9da pkg-config: Add both srcdir and builddir to the include path
Just the build dir is not going to work for srcdir!=builddir.
2017-02-27 19:13:11 +02:00
Jan Schmidt
60810cd057 tsparse: Convert PCR values immediately
Doing lazy conversion of PCR values doesn't work right
when a PCR discont is encountered. Instead, convert PCR
values to the continuous timestamp domain as soon as we
encounter them and store that instead.
2017-02-27 23:48:49 +11:00
Sebastian Dröge
ed1e4c16fb glupload: Add support for Vivante DirectTexture uploads
Together with the upcoming gstreamer-imx patch, this allows zerocopy
between imxvpudec and other elements and glimagesink.

This is losely based on a patch by Haihua Hu <b55597@freescale.com>
from https://github.com/Freescale/meta-freescale/blob/master/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/

https://bugzilla.gnome.org/show_bug.cgi?id=779067
2017-02-27 10:42:05 +02:00
Sebastian Dröge
5cdf3a3976 allocators: Add GstPhysMemoryAllocator abstraction
This can be used in a generic way as common interface by all platforms that,
in one way or another, pass around physical memory addresses.

https://bugzilla.gnome.org/show_bug.cgi?id=779067
2017-02-27 10:42:05 +02:00
Sebastian Dröge
2132ba9a94 qml: Add support for Vivante EGL FS windowing system
https://bugzilla.gnome.org/show_bug.cgi?id=778825
2017-02-27 10:42:05 +02:00
Sebastian Dröge
e9327d4928 gl: Add support for Vivante EGL FB windowing system
This is very similar to how dispmanx on the Raspberry Pi works.

Based on a patch by Haihua Hu <b55597@freescale.com> from
https://github.com/Freescale/meta-freescale/tree/master/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad

https://bugzilla.gnome.org/show_bug.cgi?id=778825
2017-02-27 10:42:05 +02:00
Edgard Lima
38ad22a7f1 Update Edgard Lima's email
https://bugzilla.gnome.org/show_bug.cgi?id=779230
2017-02-27 00:50:46 +00:00
Sebastian Dröge
4af642a6f8 rawparse: Move to gst-plugins-base and keep legacy audioparse/videoparse here
https://bugzilla.gnome.org/show_bug.cgi?id=774544
2017-02-25 14:52:38 +02:00
Sebastian Dröge
46d7470e6e meson: Update version 2017-02-24 15:59:44 +02:00