Heinrich Fink
ab70d79c43
applemedia: vtenc: Register a hardware-only vtenc_h264_hw element on OSX
...
Similar to vtdec_hw, this commit adds a vtenc_h264_hw element that fails
caps negotiation unless a hardware encoder could actually be acquired.
This is useful in situations where a fallback to a software encoder
other than the vtenc_h264 software encoder is desired (e.g. to x264enc).
https://bugzilla.gnome.org/show_bug.cgi?id=767104
2016-06-02 11:22:09 +03:00
Alessandro Decina
3d8d60baa8
vtdec: make vtdec_hw fallback to software on renegotiation
...
When renegotiating mid stream - for example with variable bitrate
streams - and therefore destroying and recreating VTSessions, the
hw decoder might become temporarily unavailable.
To deal with this and avoid erroring out on bitrate changes,
vtdec_hw now falls back to using the software decoder if the hw
one was available at some point but isn't anymore. At
renegotiation/bitrate change time, it will still retry to open
the hardware one.
2016-06-02 16:30:02 +10:00
Alessandro Decina
4a83686a57
vtdec: fix switching from GLMemory to Sysmem
...
When renegotiating from GLMemory to Sysmem do teardown the texture_cache.
Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=766190
2016-06-02 13:15:05 +10:00
Alessandro Decina
bf444301f9
vtdec: optimize renegotiation
...
::negotiate can be called several times before the CAPS event is sent downstream
so use the currently configured output state caps instead of the pad current
caps when deciding whether to recreate the VTSession or not.
This leads to creating/destroying less VTSessions which makes renegotiation more
reliable especially when using hw decoding.
2016-06-02 13:15:05 +10:00
Reynaldo H. Verdejo Pinochet
9e442d5cc0
dvbsrc: remove comment on self-explanatory code
2016-06-01 13:52:48 -07:00
Reynaldo H. Verdejo Pinochet
46de31d0f8
dvbsrc: avoid out-bound write on PID filter array
...
There's no need for an end-of-list marker in the filter
PIDs array if full, as the absolute maximum number of
elements (MAX_FILTERS) is known.
CID #1362441
2016-06-01 13:23:53 -07:00
Tim-Philipp Müller
889a1a9b90
androidmedia: fix error debug message when camera doesn't exist
...
Makes no sense to include the system error here since errno
will likely not be set and then it says 'system error: success'
which is confusing.
https://bugzilla.gnome.org/show_bug.cgi?id=767087
2016-05-31 20:41:14 +01:00
Justin Kim
fe62233b83
ahcsrc: release resources in 'finalize' function
...
In general, 'dispose' function is used for dropping all references
and 'finalize' is called for releasing instances.
https://bugzilla.gnome.org/show_bug.cgi?id=763309
2016-05-31 12:58:06 +01:00
Reynaldo H. Verdejo Pinochet
1d8673af62
dvbsrc: add sample ATSC launch line
2016-05-29 23:31:05 -07:00
Reynaldo H. Verdejo Pinochet
e35bc2c2b4
dvbsrc: use single marker at end of filtering PID list
...
Avoids at least ~100 unneeded assignment operations at runtime
2016-05-26 16:18:56 -07:00
Reynaldo H. Verdejo Pinochet
faadd0f12a
dvbsrc: simplify reporting of set polarity
2016-05-26 16:18:56 -07:00
Reynaldo H. Verdejo Pinochet
6a4fa2de75
dvbsrc: fix bandwidth-hz property description
...
Bandwidth Hz is no longer a DVBT-only property
2016-05-26 16:18:56 -07:00
Reynaldo H. Verdejo Pinochet
31a52b6c7c
dvbsrc: fix usage of PES & DVR acronyms everywhere
...
Additionally, improve message on gst_poll_new() failure
2016-05-26 16:18:14 -07:00
Víctor Manuel Jáquez Leal
f778a3f19a
kmsbufferpool: error only if no allocator
...
Do not expect an allocator from the configuration, but expect to have already
one set.
2016-05-23 22:06:29 +02:00
Víctor Manuel Jáquez Leal
3b872650aa
kmssink: frame copy log in performance category
...
Log the message when the frame is going to be copy (worse case) under the
performance log category.
https://bugzilla.gnome.org/show_bug.cgi?id=766466
2016-05-23 22:06:29 +02:00
Víctor Manuel Jáquez Leal
e87772dd4c
kmssink: use trace level for buffer render log
...
Instead of using debug level for logging each buffer rendered, use trace
level.
https://bugzilla.gnome.org/show_bug.cgi?id=766466
2016-05-23 22:06:29 +02:00
Reynaldo H. Verdejo Pinochet
5a47f4a8bc
dvbsrc: group DVB-T2 substream-id check with its corresponding set_prop()
2016-05-20 14:08:03 -07:00
Reynaldo H. Verdejo Pinochet
25543d70a7
dvbsrc: add DVB-S2 sub-stream ID check
...
Disable if invalid (> 255) instead of blindy setting this
property regardless of its actual value.
2016-05-20 13:57:45 -07:00
Reynaldo H. Verdejo Pinochet
e41b1c510a
dvbsrc: clarify consequence of passing a wrong ID to the substream filter
2016-05-20 13:47:06 -07:00
Martin Kelly
8c236a9f2e
ahc: fix potential NULL deref
...
This bug was found via cppcheck static analysis.
If android.hardware.Camera.getParameters returns NULL, then object will
be NULL, and we won't allocate params. This means that the GST_DEBUG
statement referencing params->object will be invalid. Fix this by
exiting early if android.hardware.Camera.getParameters returns NULL.
https://bugzilla.gnome.org/show_bug.cgi?id=766638
2016-05-20 09:16:28 +03:00
Martin Kelly
537ba5d109
ahc: fix typo in doc blurb
...
https://bugzilla.gnome.org/show_bug.cgi?id=766679
2016-05-19 20:47:58 +01:00
Guillaume Desmottes
7ffe5da49f
kmssink: chain up finalize method
...
https://bugzilla.gnome.org/show_bug.cgi?id=766597
2016-05-19 15:29:15 -04:00
Reynaldo H. Verdejo Pinochet
1d9adb14dc
dvbsrc: move ISDB-T bandwidth check to _is_valid_bandwidth()
...
Allows test to be used for delivery system auto-detection.
Additionally, add 0 (auto) as valid value.
2016-05-17 15:06:49 -07:00
Reynaldo H. Verdejo Pinochet
ae060943a8
dvbsrc: add '0' as a valid value for bandwidth
...
Underlying API considers this the BANDWIDTH_HZ equivalent
to the old BANDWIDTH_AUTO for BANDWIDTH.
2016-05-17 14:40:11 -07:00
Reynaldo H. Verdejo Pinochet
dde02e2d63
dvbsrc: factor out and reuse DVB-T/T2 bandwidth checks
...
Use new utility function as an additional check for delivery
system auto-detection.
2016-05-17 14:40:01 -07:00
Reynaldo H. Verdejo Pinochet
8e9e3f58c9
dvb/parsechannels: recognize additional bandwidths at zap parsing
...
Previously ignored 1.712, 5 and 10 MHz values are also valid
2016-05-17 13:08:19 -07:00
Reynaldo H. Verdejo Pinochet
10b020095b
dvbsrc: special case detection when DVB-T and T2 seem valid
...
There is no way to tell one over the other when parameters
seem valid for DVB-T and DVB-T2 and the adapter supports
both. Reason to go with the former here is that, from
experience, most DVB-T2 channels out there seem to use
parameters that are not valid for DVB-T, like QAM_256
https://bugzilla.gnome.org/show_bug.cgi?id=765731
2016-05-15 17:12:28 -07:00
Reynaldo H. Verdejo Pinochet
378fdad176
dvbsrc: add transmission mode check for DTMB
2016-05-15 17:12:28 -07:00
Reynaldo H. Verdejo Pinochet
b84b682275
dvb/parsechannels: use proper fe_spectral_inversion enum identifiers
2016-05-15 17:12:28 -07:00
Reynaldo H. Verdejo Pinochet
39c50e7b85
dvbsrc: explicitly disable stream filter for invalid ids
2016-05-15 17:12:28 -07:00
Reynaldo H. Verdejo Pinochet
e32a058fcf
dvb/parsechannels: do not assume DVB-T from zap file alone
...
DVB-T/T2 have the same number of fields so we were
wrongly assuming DVB-T for DVB-T2 broadcasts. Not
setting the delivery system here allows for dvbsrc
to make an informed guess based on the channel
parameters.
2016-05-15 17:12:28 -07:00
Reynaldo H. Verdejo Pinochet
8fcdf14846
dvbsrc: consider transmission mode for delsys autodetection
2016-05-15 17:12:28 -07:00
Reynaldo H. Verdejo Pinochet
f0d7a8cb89
dvbsrc: factor out transmission mode check against delsys
2016-05-15 17:12:28 -07:00
Reynaldo H. Verdejo Pinochet
15e21fee71
dvbsrc: improve delivery system autodetection
2016-05-15 17:12:28 -07:00
Reynaldo H. Verdejo Pinochet
793c1a2423
dvbsrc: add modulation checks for DVB-T and T2
2016-05-15 17:12:28 -07:00
Reynaldo H. Verdejo Pinochet
4f0e42b8e4
dvbsrc: improve debug output from _open_frontend()
...
* Clarify message on delsys info gathering
* Combine redundant INFO/DEBUG pair
2016-05-11 16:10:27 -07:00
Reynaldo H. Verdejo Pinochet
16643e2db7
dvbsrc: fix invalid dereference of delsys data
...
Use GPOINTER_TO_INT to read GINT_TO_POINTER stored
data.
2016-05-11 16:10:16 -07:00
Sebastian Dröge
00d961a839
amcaudiodec: Set layout=interleaved in raw audio caps
...
Otherwise the GAP event fallback negotiation will fail to produce complete
srcpad caps, and thus fail.
https://bugzilla.gnome.org/show_bug.cgi?id=766289
2016-05-11 23:49:36 +03:00
Edward Hervey
41283361fa
decklinkvideosrc: Fix previous commit
...
The frames queue might return nothing (be empty) if we're flushing.
Move the assertion to after the flushing check
2016-05-11 16:52:44 +02:00
Philippe Normand
c78819b26a
applemedia: fix core_video_meta init registration
2016-05-10 19:22:33 +03:00
Tim-Philipp Müller
ddcc1c6442
decklinkvideosrc: fix use-after-free in error code path
2016-05-10 09:40:38 +01:00
Tim-Philipp Müller
8d128f8bf5
decklinkvideosrc: remove unnecessary checks for non-NULL frame
...
We can't get a NULL frame here.
CID 1359923
2016-05-10 09:38:28 +01:00
Reynaldo H. Verdejo Pinochet
d0e553a6d3
dvbsrc: abort at open frontend failure
2016-05-09 15:23:32 -07:00
Sebastian Dröge
43487482e5
applemedia: Ship all headers in tarballs
...
Some were missing from noinst_HEADERS.
https://bugzilla.gnome.org/show_bug.cgi?id=766163
2016-05-09 12:50:47 +03:00
Reynaldo H. Verdejo Pinochet
5b1191cb4c
dvbsrc: smarten-up delsys autodetection logic
...
When there's no explicit delivery system information
for a channel in the channel configuration file and
the user hasn't selected one via setting the delsys
property, we *guessed* it by selecting the last
supported delsys reported by the driver. This change
provides the basis for smarter delsys auto detection
and implements a rule for DVB-T2. Rules for other
delivery systems can be added in _guess_delsys() in
a similar way.
Additionally: Store list of adapter-supported
delivery systems instead of querying the driver each
time this information is needed.
Related to:
https://bugzilla.gnome.org/show_bug.cgi?id=765731
2016-05-06 16:15:36 -07:00
Reynaldo H. Verdejo Pinochet
571568a09c
dvbsrc: remove remaining polling logic from _tune_fe()
...
No need to do any polling here.
2016-05-06 16:15:36 -07:00
Justin Kim
c8e34e93b2
androidmeida: replace with new surfacetexture for ahcsrc
...
GstAmcSurfaceTexture is more clear and simple than GstAGSurfaceTexture.
https://bugzilla.gnome.org/show_bug.cgi?id=763099
2016-05-06 09:18:00 +03:00
Alessandro Decina
5228238715
applemedia: vtdec: output sysmem by default
2016-05-04 11:33:16 +10:00
Sebastian Dröge
65398a1596
directsoundsrc: Convert Windows strings to UTF8 before comparing against UTF8 strings
...
The device name and descriptions returned are in the locale encoding, not
UTF8. Our device name property is in UTF8 though, so we need to convert.
https://bugzilla.gnome.org/show_bug.cgi?id=756948
2016-05-03 16:59:33 +03:00
Vivia Nikolaidou
a4ae449434
decklink: Fix swapped name and nick in GEnumValues
...
https://bugzilla.gnome.org/show_bug.cgi?id=742878
2016-05-03 15:57:23 +03:00
Vivia Nikolaidou
832764d2fd
decklink: Add initial 10bit support for YUV modes
...
https://bugzilla.gnome.org/show_bug.cgi?id=742878
2016-05-03 15:57:23 +03:00
Sebastian Dröge
87503ac174
decklink: Fix indentation
2016-05-03 15:57:23 +03:00
Reynaldo H. Verdejo Pinochet
8c03f448c3
dvbsrc: avoid possible race on _output_frontend_stats()
...
Make sure we send out our info message before we give up ownership
of the structure.
2016-04-29 23:39:06 -07:00
Reynaldo H. Verdejo Pinochet
05ebd33887
dvbsrc: var rename in _output_frontend_params()
...
Now it matches the rest of its status peers. Underscore
was a leftover from previous times.
2016-04-29 16:01:23 -07:00
Reynaldo H. Verdejo Pinochet
530d56fac3
dvbsrc: always output known frontend status params
...
The only mandatory frontend information for our use case
is its status. Make sure we output what we know instead
of choking at the first error getting SNR, BER or any of
the other informational parameters.
2016-04-29 16:01:23 -07:00
Reynaldo H. Verdejo Pinochet
098934d3ae
dvbsrc: refactor signal locking loop
...
Get rid of preliminar frontend status check.
2016-04-29 16:01:23 -07:00
Reynaldo H. Verdejo Pinochet
b5663e4f53
dvbsrc: drop unneeded polling step on _tune_fe()
...
Additional waiting was not needed. Specially considering
it came after a successful READ_STATUS ioctl and was
followed by an EINTR-resilent retry.
2016-04-29 16:01:23 -07:00
Song Bing
c9cd32bcea
pvrbufferpool: fix gst_meta_register() parameters
...
https://bugzilla.gnome.org/show_bug.cgi?id=765581
2016-04-26 13:45:07 +01:00
Jerome Laheurte
c7e0e8d6ab
dshowsrcwrapper: fix DirectShow caps negotiation and set capture pin caps
...
Some cameras (IDS) have broken DirectShow drivers which incorrectly fill some
fields in the VIDEOINFOHEADER structure; comparison between suggested and
supported media types in CBaseRenderer should ignore deprecated and/or not
essential fields; additionaly explicitely setting the mediatype for the capture
pin before trying to connect it works around another IDS driver bug, and
should have been already done anyway.
https://bugzilla.gnome.org/show_bug.cgi?id=765428
2016-04-23 15:21:44 +01:00
Jerome Laheurte
26dfb7db83
dshowsrcwrapper: add support for RGB32, RGB555, RGB565 and RGB8 color spaces
...
Some cameras (IDS) only support those.
https://bugzilla.gnome.org//show_bug.cgi?id=765427
2016-04-23 15:17:34 +01:00
Jerome Laheurte
97529971fc
dshowsrcwrapper: fix include path and link error
...
Add include path so that the cmake-generated project
is able to find gstconfig.h
Add /SAFESEH:NO to MSVC linker options so it can link with
gstreamer libraries on Windows.
https://bugzilla.gnome.org//show_bug.cgi?id=765426
2016-04-23 15:13:05 +01:00
Hyunjun Ko
45b258127c
applemedia: vtenc: fix build break on iOS
...
Fix 'conflicting types' error
https://bugzilla.gnome.org/show_bug.cgi?id=765292
2016-04-21 09:28:01 +03:00
Reynaldo H. Verdejo Pinochet
40b2f41ca6
dvbsrc: add test for invalid DVB-T2 bandwidth
2016-04-20 15:42:25 -07:00
Reynaldo H. Verdejo Pinochet
549785a432
dvbsrc: warn on wrong DVB-T2 stream ID value
...
Stream ID, used for DVB-T2/S2 and ISDB-S can
not exceed 255 for the former. Change makes this
explicit.
2016-04-20 15:42:17 -07:00
Hyunjun Ko
5023a7c85d
applemedia: vtenc: Fix a warning by weak-link symbol
...
Fix this warning
address of function 'VTCompressionSessionPrepareToEncodeFrames' will always evaluate to 'true' [-Wpointer-bool-conversion]
https://bugzilla.gnome.org/show_bug.cgi?id=765292
2016-04-20 17:16:02 +03:00
Nirbheek Chauhan
6472482680
d3dvideosink: Don't include deprecated and unavailable d3dx9tex.h
...
It's not needed, not on native Windows nor with mingw, and
we don't use anything from it anyway
https://bugzilla.gnome.org/show_bug.cgi?id=765250
2016-04-19 13:51:03 +01:00
Philipp Zabel
b2c58d3bc5
kmssink: add sync support for secondary pipes
...
The vblank event request must specify the crtc for which to request
the event. This fixes kmssink synchronisation for crtcs other than
the first.
https://bugzilla.gnome.org/show_bug.cgi?id=765064
2016-04-19 11:10:49 +02:00
Reynaldo H. Verdejo Pinochet
7597f4dd7a
dvbsrc: show invalid delsys/mod combination if found
2016-04-15 13:38:36 -07:00
Reynaldo H. Verdejo Pinochet
31041c3ae9
dvbsrc: add modulation check for ATSC
2016-04-15 11:29:48 -07:00
Reynaldo H. Verdejo Pinochet
34d888220c
dvbsrc: do not autodetect delsys twice
...
The process is dealt with the first time the adapter is
opened, there is no need to do this again.
2016-04-15 10:16:47 -07:00
Sebastian Dröge
4ad32506c6
applemedia: GstCoreVideoMeta in the plugin using only public API has no ctx member
2016-04-13 13:10:12 +03:00
Sebastian Dröge
d00c458592
applemedia: GstCoreMediaMeta in the plugin using only public API has no ctx member
2016-04-13 13:09:05 +03:00
Sebastian Dröge
6c020b7f3c
meta: Initialize all remaining metas in their init function
...
https://bugzilla.gnome.org/show_bug.cgi?id=764902
2016-04-13 10:25:32 +03:00
Sebastian Dröge
ccc068576a
meta: Initialize all GstMeta fields
...
During allocation they are not initialized to all zeroes.
https://bugzilla.gnome.org/show_bug.cgi?id=764902
2016-04-13 10:17:24 +03:00
Reynaldo H. Verdejo Pinochet
768b0c2696
dvbsrc: avoid redundant delsys querying
...
There is no need to query the frontend for the list
of supported delivery systems if we are selecting
one from the list of autodetected ones.
2016-04-12 15:08:29 -07:00
Reynaldo H. Verdejo Pinochet
0826e78266
dvb/parsechannels: add information to file not found error
...
Adds useful failure info (like filename) comming from
g_file_get_contents() as done for every other error in
this block.
2016-04-12 15:06:26 -07:00
Philipp Zabel
2f51985191
kmssink: enable UYVY, YUY2, and YVYU (interleaved YUV 4:2:2) formats
...
https://bugzilla.gnome.org/show_bug.cgi?id=761059
2016-04-11 19:57:48 +02:00
Philipp Zabel
360e9343f9
kmssink: enable NV16 (chroma-interleaved YUV 4:2:2) format
...
https://bugzilla.gnome.org/show_bug.cgi?id=761059
2016-04-11 19:57:48 +02:00
Philipp Zabel
bdb62b2658
kmssink: enable Y42B (planar YUV 4:2:2) format
...
https://bugzilla.gnome.org/show_bug.cgi?id=761059
2016-04-11 19:57:48 +02:00
Víctor Manuel Jáquez Leal
7d06cf3297
kmssink: keep last rendered buffer in memory
...
https://bugzilla.gnome.org/show_bug.cgi?id=761059
2016-04-11 19:57:48 +02:00
Víctor Manuel Jáquez Leal
b29f7d048c
kmssink: wait for page flip or vblank
...
This patch requests for drmModePageFlip() for the used CRTC, if the kernel
module suppports async page flip. If it does not, the element requests for a
vblank event. A GstPoll waits for the event to happen.
https://bugzilla.gnome.org/show_bug.cgi?id=761059
2016-04-11 19:57:48 +02:00
Víctor Manuel Jáquez Leal
c419d17dbf
kmssink: add dmabuf support
...
This patch will enable the import of dmabufs into a KMS buffer using
the PRIME kernel interface.
If the driver does not support prime import, the method is skipped.
It has been tested with a Freescale I.MX6 board.
https://bugzilla.gnome.org/show_bug.cgi?id=761059
2016-04-11 19:57:48 +02:00
Víctor Manuel Jáquez Leal
1aee6cdc25
kmssink: calculate display ratio
...
Get the aspect ratio given the information provided by libdrm, and with it
calculate the display ratio.
https://bugzilla.gnome.org/show_bug.cgi?id=761059
2016-04-11 19:57:48 +02:00
Víctor Manuel Jáquez Leal
620e1d2fcd
kmssink: add plugin and sink element
...
This is simple video sink that use libdrm/libkms API to render frames.
The element uses planes to render through drmModeSetPlane().
It has been tested in an Exynos4412 board and in a Freescale I.MX6 board.
https://bugzilla.gnome.org/show_bug.cgi?id=761059
2016-04-11 19:57:48 +02:00
Sebastian Dröge
da999d7af8
decklink: Initialize capture_time to NONE so it can be used if no video frame is provided but audio is
...
CID 1358390
2016-04-08 14:08:31 +03:00
Matthew Waters
dc1a326090
nvenc: add some rate control modes/properties
...
Supported modes are constant quantizer, cbr, vbr and vbr with a minimum quantizer.
2016-04-08 15:24:20 +10:00
Matthew Waters
065f4dceb1
nvenc: move codec config initialization from the implementation to the base class
...
Supports a better separation of configuration parameters
2016-04-08 15:08:18 +10:00
Matthew Waters
c45fc2ef53
nvenc: add preset selection
...
Some presets are not always supported on all devices and will cause an error if
used. Specifically, the LOSSLESS presets are known to not work everywhere.
2016-04-08 15:08:18 +10:00
Sebastian Dröge
f06647fd0c
decklinkaudiosrc: Don't accept packets without timestamps after a discont
...
We have no idea which timestamps they are supposed to have so the only thing
we can do at this point is to drop them. Packets without timestamps happen if
audio was captured but no corresponding video, which shouldn't happen under
normal circumstances.
https://bugzilla.gnome.org/show_bug.cgi?id=747633
2016-04-05 14:49:51 +03:00
Sebastian Dröge
0004920c83
decklinkaudiosrc: Don't crash when receiving video frames but no audio
...
And mark these events as disconts to reset time tracking in the audio source.
https://bugzilla.gnome.org/show_bug.cgi?id=747633
2016-04-05 14:47:00 +03:00
Tim-Philipp Müller
8abff20185
decklinkvideosrc: don't crash if we get NULL video frames in the callback
...
For some reason we seem to sometimes get NULL video_frames in the
::VideoInputFrameArrived() callback, observed on Intensity Pro cards.
https://bugzilla.gnome.org/show_bug.cgi?id=747633
2016-04-05 14:46:22 +03:00
Kouhei Sutou
d27662fdcd
directsoundsrc: add missing -lole32
...
CLSIDFromString() requires ole32.dll.
See https://msdn.microsoft.com/en-us/library/windows/desktop/ms680589%28v=vs.85%29.aspx
CLSIDFromString() is introduced at
f9464ce354
.
https://bugzilla.gnome.org/show_bug.cgi?id=764523
2016-04-03 13:37:16 +03:00
Matthew Waters
d6f7ea88bb
nvenc: add support for building against version 6 of the SDK
...
While mostly API compatible, the ABI has changed so binaries will not work
across header versions (and ultimately nvidia driver releases).
https://bugzilla.gnome.org/show_bug.cgi?id=763324
2016-03-31 17:26:47 +11:00
Sebastian Dröge
5d9df5d5d0
ahcsrc: There's no point in read-only CONSTRUCT properties
...
And creating one is causing assertions. Also get rid of the other CONSTRUCT
property as it's a) unneeded for default initialization and b) you're not
supposed to use constructor properties when creating element instances and the
GStreamer API doesn't provide direct ways for doing so.
https://bugzilla.gnome.org/show_bug.cgi?id=764339
2016-03-30 10:35:53 +03:00
Thiago Santos
c77e9c8cda
dvbbasebin: unref pat table after usage
...
Remember to unref the GPtrArray of the PAT table after
use
2016-03-24 11:29:35 -03:00
Thiago Santos
1f3852c667
dvbbasebin: plug some leaks
...
Plug various leaks in dvbbasebin.
2016-03-24 11:29:35 -03:00
Thiago Santos
46473ac287
dvbsrc: print time in same format
...
Makes it easier to compare
2016-03-24 11:06:47 -03:00
Martin Kelly
d6a17cd3cc
ahc: use g_slice_new instead of g_slice_new0
...
In many cases, we use g_slice_new0 and then immediately overwrite the
allocated memory. This is inefficient. Since we're going to immediately
overwrite it, we might as well use plain g_slice_new.
https://bugzilla.gnome.org/show_bug.cgi?id=763998
2016-03-24 14:59:42 +02:00
Vineeth TM
66bac3eb86
d3dvideosink: post message to application for unhandled keyboard/mouse events
...
https://bugzilla.gnome.org/show_bug.cgi?id=763403
2016-03-24 14:58:24 +02:00
Justin Kim
b9ecc42b76
ahcsrc: remove probe_properties
...
It's a residue of 0.10.
https://bugzilla.gnome.org/show_bug.cgi?id=763100
2016-03-24 14:57:39 +02:00
Vineeth TM
8cdfb13658
bad: use new gst_element_class_add_static_pad_template()
...
https://bugzilla.gnome.org/show_bug.cgi?id=763081
2016-03-24 14:56:51 +02:00
Martin Kelly
c257829213
ahc: eliminate AHC*_CALL macros
...
Currently, we use AHC*_CALL macros to call many of the Camera functions.
However, we already have helper classes to call the Camera functions, so
eliminate the macros.
As a nice side-benefit, we also get improved error handling and
reporting when something goes wrong calling these functions, because a
GError gets populated, and we log a GST_ERROR when something fails. This
was harder to do using macros, as all error handling was hidden from the
caller.
https://bugzilla.gnome.org/show_bug.cgi?id=763065
2016-03-24 14:55:14 +02:00
Martin Kelly
a2f270b316
ahc: use gst unref functions
...
https://bugzilla.gnome.org/show_bug.cgi?id=763065
2016-03-24 14:55:14 +02:00
Martin Kelly
1bfd6526d4
ahc: use gst new object functions
...
https://bugzilla.gnome.org/show_bug.cgi?id=763065
2016-03-24 14:55:14 +02:00
Sebastian Dröge
0acdcc1b37
openslesringbuffer: Warn if the position reported by OpenSL is higher than what we queued up so far
...
This would hint at wrong position reporting, and apparently sometimes happens
after a seek.
2016-03-16 12:03:53 +02:00
Sebastian Dröge
610705cbb4
amc: Correctly handle NULL input buffers
...
https://bugzilla.gnome.org/show_bug.cgi?id=763401
2016-03-11 10:46:10 +02:00
Sebastian Dröge
9132b72c32
amcvideodec: getOutputBuffers() returns a NULL array when a surface was configured
...
So don't error out if it does.
https://bugzilla.gnome.org/show_bug.cgi?id=763401
2016-03-11 10:46:10 +02:00
Justin Kim
10c6d1b558
androidmedia: Remove unused file
...
ahcsrc is registered by gstamc.c
https://bugzilla.gnome.org/show_bug.cgi?id=763098
2016-03-05 10:04:39 +02:00
Martin Kelly
a7d6c07b86
amc: properly deinit when ahcsrc register fails
...
In the androidmedia plugin_init, we initialize various resources on the
Android device. If anything fails during this series of initializations,
we need to deinitialize any initializations that already occurred.
However, we don't do so if we fail to register the ahcsrc element. Fix
this.
https://bugzilla.gnome.org/show_bug.cgi?id=763065
2016-03-04 09:42:14 +02:00
Martin Kelly
ddebf1ff66
ahc: correct error message
...
The error message is specific to only one of the failure cases and is
misleading in the others. Correct it to be more generic and cover all
the failure cases.
https://bugzilla.gnome.org/show_bug.cgi?id=763065
2016-03-04 09:42:14 +02:00
Martin Kelly
e337918a06
ahc: remove unneeded #include <stdio.h>
...
https://bugzilla.gnome.org/show_bug.cgi?id=763065
2016-03-04 09:42:14 +02:00
Martin Kelly
21d1eaa6c8
ahc: typo fix
...
https://bugzilla.gnome.org/show_bug.cgi?id=763065
2016-03-04 09:42:14 +02:00
Sebastian Dröge
476d5b6940
amcvideodec: When outputting on a surface, accept all color formats
...
We don't have to understand them, we handle them as a GL texture.
https://bugzilla.gnome.org/show_bug.cgi?id=762792
2016-02-28 11:10:39 +02:00
Sebastian Dröge
924795c85c
vtdec: Negotiate the decoder in set_format() already
...
Don't wait until later, we want to know here if the codec can be opened or not
for the requested format. This was removed (accidentially?) by
119e09eac3
Without this decodebin has no way to switch to a different decoder if this one
does not work.
https://bugzilla.gnome.org/show_bug.cgi?id=762613
2016-02-25 11:38:07 +02:00
Joe Gorse
2b63a88f26
avfvideosrc: Frame durations as CTime to the API, not double
...
Newer iOS seems to automatically convert, older iOS/OSX just crashes.
https://bugzilla.gnome.org/show_bug.cgi?id=762575
2016-02-25 11:34:40 +02:00
Matthew Waters
b48049a171
nvenc: release the frames and list when searching for an output buffer
...
Fixes a massive leak in:
videotestsrc ! nvh264enc ! fakesink
2016-02-25 00:07:14 +11:00
Peter Seiderer
df4ef4be39
fbdevsink: fix bytes per pixel calculation
...
Simple pipeline
$ gst-launch-1.0 videotestsrc ! fbdevsink
crashes with SIGSEGV in case the frambuffer xres is smaller
than the virtual xres resolution, e.g.:
$ fbset
mode "800x480-0"
# D: 0.000 MHz, H: 0.000 kHz, V: 0.000 Hz
geometry 800 480 1920 1200 16
timings 0 0 0 0 0 0 0
accel true
rgba 5/11,6/5,5/0,0/0
endmode
Debug:
$ gdb gst-launch-1.0
(gdb) run videotestsrc ! fbdevsink
(gdb) where
#0 0xb6bd2d24 in __memcpy_neon ()
at ../sysdeps/arm/armv7/multiarch/memcpy_impl.S:591
#1 0xb69b04e8 in gst_fbdevsink_show_frame (videosink=0x10a3378,
buf=0xb5c08838) at gstfbdevsink.c:269
#2 0xb69e88c4 in gst_base_sink_do_preroll (sink=sink@entry=0x10a3378,
obj=0xb5c08838, obj@entry=0xa0) at gstbasesink.c:2281
#3 0xb69e92bc in gst_base_sink_do_sync (basesink=basesink@entry=0x10a3378,
obj=0xa0, obj@entry=0xb5c08838, late=0x0, late@entry=0xb6548ba0,
step_end=0x140, step_end@entry=0xb6548ba4) at gstbasesink.c:2500
#4 0xb69ea67c in gst_base_sink_chain_unlocked (
basesink=basesink@entry=0x10a3378, obj=0x0, obj@entry=0xb5c08838,
is_list=is_list@entry=0, pad=<optimized out>) at gstbasesink.c:3486
#5 0xb69ec1c0 in gst_base_sink_chain_main (basesink=0x10a3378,
pad=<optimized out>, obj=0xb5c08838, is_list=0) at gstbasesink.c:3647
#6 0xb6eb5b10 in gst_pad_chain_data_unchecked (pad=0x10a6170,
type=<optimized out>, data=0xb5c08838) at gstpad.c:4086
#7 0xb6eb7a34 in gst_pad_push_data (pad=pad@entry=0x10a6020,
type=type@entry=4112, data=0xb5c08838) at gstpad.c:4338
#8 0xb6ebf344 in gst_pad_push (pad=pad@entry=0x10a6020,
buffer=<optimized out>) at gstpad.c:4454
#9 0xb69f22f0 in gst_base_src_loop (pad=0x10a6020) at gstbasesrc.c:2845
#10 0xb6eeddfc in gst_task_func (task=0x10a8828) at gsttask.c:331
#11 0xb6d485a0 in g_thread_pool_thread_proxy (data=<optimized out>)
at gthreadpoQuit
(gdb) frame 1
#1 0xb69b04e8 in gst_fbdevsink_show_frame (videosink=0x10a3378,
buf=0xb5c08838) at gstfbdevsink.c:269
269 gstfbdevsink.c: No such file or directory.
(gdb) p fbdevsink
$1 = (GstFBDEVSink *) 0x10a3378
(gdb) p *fbdevsink
$2 = {videosink = {element = {element = {object = {object = {
g_type_instance = {g_class = 0x10a2d60}, ref_count = 3,
qdata = 0x0}, lock = {p = 0x0, i = {0, 0}},
name = 0x10a2f30 "fbdevsink0", parent = 0x10a70a0, flags = 32,
control_bindings = 0x0, control_rate = 100000000,
last_sync = 18446744073709551615, _gst_reserved = 0x0},
state_lock = {p = 0x109f9a8, i = {0, 0}}, state_cond = {p = 0x0, i = {
3, 0}}, state_cookie = 2, target_state = GST_STATE_PAUSED,
current_state = GST_STATE_READY, next_state = GST_STATE_PAUSED,
pending_state = GST_STATE_PAUSED,
last_return = GST_STATE_CHANGE_ASYNC, bus = 0x108bcb8, clock = 0x0,
base_time = 0, start_time = 0, numpads = 1, pads = 0x109cc20,
numsrcpads = 0, srcpads = 0x0, numsinkpads = 1, sinkpads = 0x109cc30,
pads_cookie = 1, _gst_reserved = {0x0, 0x0, 0x0, 0x0}},
sinkpad = 0x10a6170, pad_mode = GST_PAD_MODE_PUSH, offset = 0,
can_activate_pull = 0, can_activate_push = 1, preroll_lock = {p = 0x1,
i = {1, 0}}, preroll_cond = {p = 0x0, i = {0, 0}}, eos = 0,
need_preroll = 1, have_preroll = 0, playing_async = 1,
have_newsegment = 1, segment = {flags = GST_SEGMENT_FLAG_NONE, rate = 1,
applied_rate = 1, format = GST_FORMAT_TIME, base = 0, offset = 0,
start = 0, stop = 18446744073709551615, time = 0, position = 33333333,
duration = 18446744073709551615, _gst_reserved = {0x0, 0x0, 0x0,
0x0}}, clock_id = 0x0, sync = 1, flushing = 0, running = 0,
max_lateness = 20000000, priv = 0x10a3188, _gst_reserved = {
0x0 <repeats 20 times>}}, width = 0, height = 0, priv = 0x10a3180,
_gst_reserved = {0x0, 0x0, 0x0, 0x0}}, fixinfo = {
id = '\000' <repeats 15 times>, smem_start = 1078984704,
smem_len = 4608000, type = 0, type_aux = 0, visual = 2, xpanstep = 1,
ypanstep = 1, ywrapstep = 0, line_length = 3840, mmio_start = 0,
mmio_len = 0, accel = 0, capabilities = 0, reserved = {0, 0}}, varinfo = {
xres = 800, yres = 480, xres_virtual = 1920, yres_virtual = 1200,
xoffset = 0, yoffset = 0, bits_per_pixel = 16, grayscale = 0, red = {
offset = 11, length = 5, msb_right = 0}, green = {offset = 5,
length = 6, msb_right = 0}, blue = {offset = 0, length = 5,
msb_right = 0}, transp = {offset = 0, length = 0, msb_right = 0},
nonstd = 0, activate = 0, height = 4294967295, width = 4294967295,
accel_flags = 1, pixclock = 0, left_margin = 0, right_margin = 0,
upper_margin = 0, lower_margin = 0, hsync_len = 0, vsync_len = 0,
sync = 0, vmode = 0, rotate = 0, colorspace = 0, reserved = {0, 0, 0, 0}},
fd = 5,
framebuffer = 0xb654a000 <error: Cannot access memory at address 0xb654a000>, device = 0x10a38d8 "/dev/fb0", width = 320, height = 240, cx = 240, cy = 120,
linelen = 1280, lines = 240, bytespp = 4, fps_n = 30, fps_d = 1}
(gdb) p map
$3 = {memory = 0xb5d24008, flags = GST_MAP_READ,
data = 0xb5d24058 '\377' <repeats 90 times>, "\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\377\a\377\a\377\a\377\a\377\a\377\a\377\a\377\a\377\a"...,
size = 153600, maxsize = 153603, user_data = {0x0,
0xb69e3ba4 <gst_base_sink_set_last_buffer_unlocked+92>, 0x10a3378, 0x0},
_gst_reserved = {0x1, 0x10a3378, 0xb6f50dd8 <_gst_debug_min>, 0xb5c08838}}
(gdb) p i
$4 = 121
Fix this by changing the fbdevsink->bytespp calculation using
the frame buffer xres_virtual size instead of xres.
https://bugzilla.gnome.org/show_bug.cgi?id=762482
2016-02-23 11:36:57 +02:00
Vineeth TM
9900b08512
uvch264_src: Fix caps memory leak
...
v4l_caps and new_caps are being allocated new memory before freeing the
old allocation.
https://bugzilla.gnome.org/show_bug.cgi?id=761108
2016-02-17 08:57:30 +00:00
Vineeth TM
8b80137f4b
acmenc/acmmp3dec: remove unnecessary break after return
...
https://bugzilla.gnome.org/show_bug.cgi?id=761109
2016-02-16 18:03:51 +02:00
Alessandro Decina
4aaaf23868
applemedia: videotesturecache: let CVOpenGLESTextureCache flush every 1s
...
Leave kCVOpenGLESTextureCacheMaximumTextureAgeKey to the default (1s). We used
to set it to 0 and flush manually, but apparently (looking at the GLES profiler)
0 means "disable the cache entirely".
2016-02-10 15:40:02 +11:00
Alessandro Decina
99f29ec56e
applemedia: vtdec: implement GstElement::set_context
2016-02-09 14:13:26 +11:00
Alessandro Decina
915124b363
applemedia: vtdec: update copyright
2016-02-09 14:13:26 +11:00
Alessandro Decina
e34fe9fe70
applemedia: avfvideosrc: implement GstElement::set_context
...
Needed to properly handle gst.gl.app_context(s).
2016-02-09 14:13:26 +11:00
Alessandro Decina
022e060563
applemedia: avfvideosrc: add myself to the copyright holders
2016-02-09 14:13:26 +11:00
Matthew Waters
cd4a93da3b
glsyncmeta: separate out gpu/cpu waits.
...
CPU waits are more expensive and are only required if the CPU is ever going to
access the data. GPU waits perform inter-context synchronisation and are cheaper
as they don't require CPU intervention.
2016-02-09 12:30:25 +11:00
Arun Raghavan
94f1748b6b
tinyalsasink: Use glib CLAMP() instead of our own macro
2016-02-05 21:35:15 +05:30
Arun Raghavan
5f9065c114
tinyalsasink: Limit period size and count to what the h/w permits
2016-02-05 15:56:05 +05:30
Matthew Waters
9efdfb1a29
amcvideodec: pass the correct time value to wait_for_sync
...
When we are not waiting, we need to pass -1 to signal that we just want to check
that the frame was/n't rendered. Avoids waiting for frames that will never be
rendered.
https://bugzilla.gnome.org/show_bug.cgi?id=761014
2016-02-04 15:46:22 +11:00
Matthew Waters
3c29dcaddb
amcvideodec: advance the ready counter ourselves when render=FALSE
...
When not rendering the video frame, e.g. when freeing an unreleased sync frame,
we will not receive a frame listener callback.
Reduces the amount of 'on_frame_available miss detected' messages when dropping
frames.
https://bugzilla.gnome.org/show_bug.cgi?id=761014
2016-02-04 15:46:22 +11:00
Jan Schmidt
0d3cd82749
decklinkaudiosrc: Fix discont tracking
...
Don't reset the marker that's tracking disconts until
either the discont disappears or we resync.
2016-02-04 14:33:09 +11:00
Tim-Philipp Müller
501930dc0d
Remove ancient and dead cdrom control plugin
...
This was never even ported to 0.10, and I don't think
it's particularly useful, since it's just a control
interface really. Let's remove it.
2016-02-03 21:22:28 +00:00
Reynaldo H. Verdejo Pinochet
2da52e79b3
tinyalsasink: fix tinalsa typo
2016-02-02 13:30:29 -08:00
Reynaldo H. Verdejo Pinochet
4c5abcb997
tinyalsasink: fix sample launch line
2016-02-02 11:06:52 -08:00
Arun Raghavan
bb240714fb
tinyalsasink: Use int type if we support a single rate/channel count
...
Avoids using an int range if the field we're setting is not actually a
range.
2016-02-02 16:38:31 +05:30
Arun Raghavan
c8bd74fa9a
tinyalsa: Add a new sink plugin using tinyalsa
...
This uses the tinyalsa library to playback to an ALSA device. Future
work can include using the mmap interface.
https://bugzilla.gnome.org/show_bug.cgi?id=761230
2016-02-02 08:30:59 +05:30
Tim-Philipp Müller
0770fa4ed5
dvbsrc: drop unnecessary use of _stdint.h
2016-01-30 17:35:33 +00:00
Matthew Waters
b276de7827
amcvideodec: guard against not finding a valid frame in loop
...
Fixes sporadic crashes on finishing decoding a video.
https://bugzilla.gnome.org/show_bug.cgi?id=761014
2016-01-29 23:52:15 +11:00
Matthew Waters
1fceac8122
amcvideodec: set our data pointer in java to NULL on close
...
The frame available callback can be called after deconfiguring the amc codec.
Guard against this by setting the back pointer to NULL on close() and ignoring
any NULL data pointer.
https://bugzilla.gnome.org/show_bug.cgi?id=761014
2016-01-29 23:52:15 +11:00
Alessandro Decina
045a935871
applemedia: refactor GL context code
...
Rework the GL context code. Now both avfvideosrc and vtdec can create an
internal GL context for pushing textures. Both elements will still try to
use/switch to a local context where available (including after RECONFIGURE
events).
2016-01-29 15:10:32 +11:00
Alessandro Decina
6f80d5c59a
applemedia: avfvideosrc: actually set the configured framerate
...
Actually set the configured framerate. Before we only used to set the first
matching framerate range. On iOS where the camera reports ranges [2, 60], we
used to configure the camera to output anything between 2 and 60fps.
2016-01-27 14:38:36 +11:00
Sebastian Dröge
c9d9042aff
ahc: Fail gracefully if our callback class can't be found
...
Instead of just ignoring that error and then calling JNI functions with NULL,
which will kill the virtual machine.
The error handling here needs some further improvements though, errors in more
places are just ignored.
2016-01-22 17:25:28 +02:00
Sebastian Dröge
551b0a5f28
ahc: Initialize GError pointer with NULL
...
Otherwise there will be assertions.
2016-01-22 17:22:47 +02:00
Sebastian Dröge
f585a66bd1
amcvideodec: Only free GstAmcBuffer if it's not NULL
...
And also free it on GL errors.
2016-01-22 17:19:29 +02:00
Julien Moutte
3ea431c5b5
decklinkvideosrc: implement RGB capture support
...
Combine mode and format to generate caps and support the flags from VideoChanged callback to support RGB capture.
https://bugzilla.gnome.org/show_bug.cgi?id=760594
2016-01-22 16:11:08 +01:00
Sebastian Dröge
8c57341241
amc: Add an assertion for NULL GErrors
...
Should never happen! But an assertion is better than a NULL pointer
dereference.
2016-01-22 16:22:25 +02:00
Sebastian Dröge
31e1b7ceeb
ahc: Fix indentation
2016-01-22 16:14:46 +02:00
Sebastian Dröge
5a3744e86c
amc: MediaCodec::getOutputBuffer() can return NULL without exception
...
Happens when doing zerocopy rendering, or when passing a wrong index to it.
Handle this properly for zerocopy rendering, fail properly for the other
cases.
https://bugzilla.gnome.org/show_bug.cgi?id=760961
2016-01-22 16:13:45 +02:00
Alessandro Decina
c2a57f3555
applemedia: texture cache: copy the input metas
...
Copy the input metas so avfvideosrc and vtenc can fast path to using
CVPixelBuffer(s) even when using GLMemory.
2016-01-22 13:53:32 +11:00
Nicolas Dufresne
09dbc5b298
ahcsrc: Fix latency reporting
...
Currently it was wrongly reporting min/max as being the shortest and
longest possible frame duration. This is not how latency works in
GStreamer.
Fix by reporting min latency as being the longest possible duration of
one frame. As we don't know how many buffers the stack can accumulate, we
simply assume that max latency is the same (the usual default behaviour).
2016-01-21 13:49:18 -05:00
George Kiagiadakis
9a53d79876
ahcsrc: fix deadlock when flushing
...
_data_queue_item_free() calls gst_buffer_unref(), which
calls gst_ahc_src_buffer_free_func(), which calls
g_mutex_lock() on self->mutex and there you go... deadlock!
2016-01-21 13:49:18 -05:00