Commit graph

1949 commits

Author SHA1 Message Date
Sebastian Dröge
337bc06de1 androidmedia: Clear exceptions also when we did not provide a GError 2014-06-20 14:59:12 +02:00
Sebastian Dröge
aee9d12b86 androidmedia: Also don't report warnings for queue/dequeue errors during flushing in error cases
... and fix a case where we released an invalid buffer index.
2014-06-19 18:34:05 +02:00
Sebastian Dröge
880f3d8a18 androidmedia: Don't consider input buffer queueing failures as an error during flushing 2014-06-19 18:34:05 +02:00
Sebastian Dröge
71c0e0e19f androidmedia: Clean up flushing code and don't consider output buffer releasing failures during flushing as an error 2014-06-19 18:34:05 +02:00
Vincent Penquerc'h
402086a82d dvbsrc: do not try to close negative file descriptors
Interestingly, Coverity implies that close takes an unsigned
argument, while my close(2) man page shows it taking a signed
argument. I guess it may be platforms specific.

Coverity 1214602
2014-06-12 10:18:16 +01:00
Reynaldo H. Verdejo Pinochet
7c1f7fd787 dvbsrc: drop redundant assignment 2014-06-05 12:56:46 -04:00
Reynaldo H. Verdejo Pinochet
56933d97ec dvbsrc: improve timeout handing at locking loop
New approach attempts to be more accurate by measuring
the elapsed time by iteration. Also:

* Use a 10 seconds default timeout and a half a second
  polling step. New values should better match the tuning
  process on real-life scenarios.
* Correct elapsed_time computation.
* Add _retry_ioctl() to avoid bailing out on temporary
  ioctl EINTR failures (no need to check for EAGAIN cause
  we are opening the frontend on blocking mode)
* Small corrections to fail condition handling
2014-06-05 12:56:46 -04:00
Olivier Crête
db09922842 shmsink: Allocate enough memory to do alignment
https://bugzilla.gnome.org/show_bug.cgi?id=731093
2014-06-02 21:43:34 -04:00
Sebastian Dröge
b44724f662 androidmedia: Actually print the stacktrace into the error string 2014-06-02 12:39:49 +02:00
Sebastian Dröge
40fb09544f androidmedia: Clear the exception before trying to call Java methods to convert it to a string 2014-06-02 11:28:43 +02:00
Sebastian Dröge
0c93a82861 androidmedia: Fix crashes when loading the plugin in a standalone application on Android >= 4.4
Check if libnativehelper is loaded in the process and if
it has these awful wrappers for JNI_CreateJavaVM and
JNI_GetCreatedJavaVMs that crash the app if you don't
create a JniInvocation instance first. If it isn't we
just fail here and don't initialize anything.

See this code for reference:
https://android.googlesource.com/platform/libnativehelper/+/master/JniInvocation.cpp
2014-06-02 11:18:38 +02:00
Tim-Philipp Müller
ef143252d0 dvbbasebin: better error handling in case tsparse is missing
https://bugzilla.gnome.org/show_bug.cgi?id=730641
2014-06-01 10:47:12 +01:00
Reynaldo H. Verdejo Pinochet
d564b62ee8 dvbbasebin: add prop setup code for guint64
Needed since we are now proxying tuning-timeout
from dvbsrc.
2014-05-30 17:58:50 -04:00
Reynaldo H. Verdejo Pinochet
81d01f5db0 dvb/cam*: use g_strerror and other few nits 2014-05-30 13:12:32 -04:00
Reynaldo H. Verdejo Pinochet
e4dac3dbb2 dvbbasebin: fix dvbsrc signal proxying
https://bugzilla.gnome.org/show_bug.cgi?id=641204
2014-05-30 13:09:01 -04:00
Reynaldo H. Verdejo Pinochet
4880a8ad14 dvbbasebin: proxy new props/signals from dvbsrc
Proxy tuning start/done/fail signals and tuning-timeout
property.

https://bugzilla.gnome.org/show_bug.cgi?id=641204
2014-05-30 16:41:27 +02:00
Reynaldo H. Verdejo Pinochet
e68a6d48cb dvbsrc: smarten up tuning logic
* Drop remaining sleep() logic in favor of polling
* Use best guess delivery system if none is set
* Make tuning/locking timeout configurable
* Add signals for tuning start, done and fail
* Drop gst_dvbsrc_frontend_status(). It was used only
  for signal LOCK checking. This is now part of the
  tuning/locking loop
* Break up frontend configuration and tuning
  on separate functions

Plus:

* Add some more useful DEBUG/TRACE messages
* Move over misplaced DVB API message
* Fix wrong comment for default DVB buffer size (http://linuxtv.org/downloads/v4l-dvb-apis/dmx_fcalls.html#DMX_SET_BUFFER_SIZE)

This patch builds up on previous work done by
Fabrizio (Misto) Milo <mistobaan@gmail.com>

https://bugzilla.gnome.org/show_bug.cgi?id=641204
2014-05-30 16:41:27 +02:00
Sebastian Dröge
f844af2320 androidmedia: Add exceptions from the Java API to error messages, and post more error/warning messages overall 2014-05-30 16:36:11 +02:00
Sebastian Dröge
440574d963 androidmedia: Add a GError argument to all amc methods and catch exceptions there 2014-05-30 15:25:25 +02:00
Sebastian Dröge
22b5abf86c androidmedia: Describe exceptions happening when scanning all codecs 2014-05-30 15:25:21 +02:00
Sebastian Dröge
3cf4c8cad1 androidmedia: Add API to convert an exception into a string 2014-05-30 15:25:21 +02:00
Jorge Zapata
ad82575693 Release the codec before freeing it
On Samsung Galaxy S4 it is impossible to have more than one
hardware decoder at the same time. If we do not release it
explicitly the GC only releases it whenever the whole application
is finished not whenever the activity is finished and thus a player
will not be able to work correctly
2014-05-30 12:40:59 +02:00
Sebastian Dröge
81716909fe Revert "androidmedia: Place some const keywords in a few places"
This reverts commit 3078b3a34c.

gst_video_frame_map() doesn't take a const GstVideoInfo*, so
all this is rather useless.
2014-05-27 08:51:39 +02:00
Sebastian Dröge
3078b3a34c androidmedia: Place some const keywords in a few places 2014-05-26 16:31:11 +02:00
Chen Jie
8e0bbc9e32 androidmedia: add gst_amc_color_format_copy
gst_amc_color_format_copy will copy in/out a frame resides at a
GstAmcBuffer. Lots of codes in gst_amc_video_*_fill_buffer are moved to
this new function.
2014-05-26 16:29:01 +02:00
Chen Jie
557d6b974f androidmedia: move create_src|sink_caps to gstamc.c
Some hack logic needs also to be present in create_src|sink_caps, for
working around some broken codecs. These hacks are hidden
in color_format/video_format conversion -- the prototypes of these
functions are also changed to include more args for hack judgement.

Also in case of multi-color_formats mapped to one video_format, then
map that video_format back will not give the original color_format, which
causes gst_amc_codec_configure failed with something like
'does not support color format N'.

The new prototype involves with GstAmcCodecInfo and mime, which
ensures the converted color_format is supported by the codec.

A COLOR_FormatYCbYCr to GST_VIDEO_FORMAT_YUY2 mapping is also added, in
order to work around bugs in OMX.k3.video.decoder.avc(which incorrectly
reports supporting COLOR_FormatYCbYCr, which is actually
COLOR_FormatYUV420SemiPlanar). There are already hacks for this in
gst_amc_video_format_to_color_format, gst_amc_color_format_to_video_format
and gst_amc_color_format_info_set, but the codec will still not work(be
ignored because of "has unknown color formats") without adding this mapping.
2014-05-26 16:29:01 +02:00
Stefan Ringel
f348944246 dvb: parsechannels: add delsys property
Signed-off-by: Stefan Ringel <linuxtv@stefanringel.de>

https://bugzilla.gnome.org/show_bug.cgi?id=709414
2014-05-26 13:32:21 +02:00
Vincent Penquerc'h
b67f64cf5d dvbsrc: map SYS_DVBC_ANNEX_A SYS_DVBC_ANNEX_AC for DVB API < 5.6
https://bugzilla.gnome.org/show_bug.cgi?id=721869
2014-05-26 13:28:24 +02:00
Vincent Penquerc'h
038d9794a1 dvbsrc: fix typo in testing flag
% instead of &

https://bugzilla.gnome.org/show_bug.cgi?id=721869
2014-05-26 13:28:24 +02:00
Chen Jie
27f4d8237f amcvideoenc: Unit of bitrate property is now bit/sec
https://bugzilla.gnome.org/show_bug.cgi?id=705129
2014-05-26 12:10:44 +02:00
Stefan Ringel
ab7f9654f4 dvbsrc: Add missing tone ioctl
https://bugzilla.gnome.org/show_bug.cgi?id=730692
2014-05-26 09:19:03 +02:00
Jorge Zapata
738da7835f androidmedia: Add a new QCOM color format
It is a NV12 based, aligned to 32 bytes

https://bugzilla.gnome.org/show_bug.cgi?id=730635
2014-05-23 15:19:36 +02:00
Sebastian Dröge
158caf952d androidmedia: First try to get symbols from the current program, then load libdvm
If the application is using the new ART runtime it will otherwise
load dalvik and start a dalvik VM next to the ART VM.
Does not work very well obviously.
2014-05-23 15:13:28 +02:00
Chen Jie
22c0464aa6 androidmedia: add support for video encoding
https://bugzilla.gnome.org/show_bug.cgi?id=705129
2014-05-23 09:37:54 +02:00
Michael Olbrich
c1db46ffc6 dvbsrc: fix building with newer kernel headers
c400eef377 introduced some defines to handle
older kernel headers. However, the check is done before the corresponding
kernel header (dvb/frontend.h) is included. As a result the macros are
always defined with results in 'redefined' errors with newer kernel
headers.
Move the check after the include to fix this.

https://bugzilla.gnome.org/show_bug.cgi?id=730570
2014-05-22 13:02:13 +02:00
Sebastian Dröge
c842df1c3d opensles: Work around race condition in Android < 4.2 that leads to deadlocks on shutdown
We need to sleep a bit before destroying the player object
because of a bug in Android in versions < 4.2.

OpenSLES is using AudioTrack for rendering the sound. AudioTrack
has a thread that pulls raw audio from the buffer queue and then
passes it forward to AudioFlinger (AudioTrack::processAudioBuffer()).
This thread is calling various callbacks on events, e.g. when
an underrun happens or to request data. OpenSLES sets this callback
on AudioTrack (audioTrack_callBack_pullFromBuffQueue() from
android_AudioPlayer.cpp). Among other things this is taking a lock
on the player interface.

Now if we destroy the player interface object, it will first of all
take the player interface lock (IObject_Destroy()). Then it destroys
the audio player instance (android_audioPlayer_destroy()) which then
calls stop() on the AudioTrack and deletes it. Now the destructor of
AudioTrack will wait until the rendering thread (AudioTrack::processAudioBuffer())
has finished.

If all this happens with bad timing it can happen that the rendering
thread is currently e.g. handling underrun but did not lock the player
interface object yet. Then destroying happens and takes the lock and waits
for the thread to finish. Then the thread tries to take the lock and waits
forever.

We wait a bit before destroying the player object to make sure that
the rendering thread finished whatever it was doing, and then stops
(note: we called gst_opensles_ringbuffer_stop() before this already).
2014-05-16 09:10:48 +02:00
Wim Taymans
ccccad4d8d bluez: fix property names
These were forgotten when they got renamed.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=729731
2014-05-14 11:48:47 +02:00
Edward Hervey
b2e037b7de shm: Don't leak GstShmPipe
By reordering the leaking code path to before the allocation

CID #1212153
2014-05-13 11:41:42 +02:00
Sebastian Dröge
a76832451d dvbsrc: Don't free string we're still using
CID 1213780
2014-05-12 10:04:16 +02:00
Reynaldo H. Verdejo Pinochet
a39c3bd01b dvbsrc: drop C++ style comments
This patch builds on previous work done by
Fabrizio (Misto) Milo <mistobaan@gmail.com>

https://bugzilla.gnome.org/show_bug.cgi?id=641204
2014-05-10 18:30:30 -04:00
Reynaldo H. Verdejo Pinochet
d2138beb18 dvbsrc: fix up error reporting
This patch builds on previous work done by
Fabrizio (Misto) Milo <mistobaan@gmail.com>

https://bugzilla.gnome.org/show_bug.cgi?id=641204
2014-05-10 18:30:24 -04:00
Sebastian Dröge
90643c696f mfc: Remove mfc plugin, it is obsoleted by the v4l2videodec element from gst-plugins-good 2014-05-03 13:12:40 +02:00
Nicolas Dufresne
4e9036690c decklink: Don't fail if HW does not have all interfaces
This patch completes 1c1cc73a3b. These
changes where accidentally pushed as a separate patch with wrong commit
message.

https://bugzilla.gnome.org/show_bug.cgi?id=7273
2014-04-27 09:34:39 -04:00
Tim-Philipp Müller
d5a0ace347 Revert "y4mdec: check for VIDEO meta instead of CROP meta"
This reverts commit 68309bd215.

Commit message and files changed do not match.
2014-04-27 13:11:03 +01:00
Andoni Morales Alastruey
fc02ec2087 avfassetsrc: downgrade rank to SECONDARY in OS X 2014-04-24 12:28:17 +02:00
Andoni Morales Alastruey
d234bee52f avfassetsrc: rename references to iOS 2014-04-24 12:28:17 +02:00
Matthieu Bouron
2f0aad7158 iosavassetsrc: rename element to avfassetsrc
https://bugzilla.gnome.org/show_bug.cgi?id=728249
2014-04-24 12:28:17 +02:00
Matthieu Bouron
ecf765635b iosavassetsrc: Port to 1.0
Also enables this element on OSX >= 10.7.

https://bugzilla.gnome.org/show_bug.cgi?id=728249
2014-04-24 12:28:17 +02:00
Andoni Morales Alastruey
9fec222b5a applemedia: add new source/decoder element for iOS assets
https://bugzilla.gnome.org/show_bug.cgi?id=728249
2014-04-24 12:28:16 +02:00
Matthieu Bouron
e728ee8208 coremediabuffer: handle stride alignment
Handle stride alignment through the use of the video meta API. The
code is based on the corevideobuffer implementation.

If the video meta API is not supported and the underlying buffer
contains padding, the core media buffer is copied to a system memory
buffer.

https://bugzilla.gnome.org/show_bug.cgi?id=727885
2014-04-24 12:27:59 +02:00
Matthieu Bouron
c6572df9ff avfvideosrc: check if downstream supports the video meta API
Check if downstream supports the video meta API, so we can use it later
with the core media buffers.

https://bugzilla.gnome.org/show_bug.cgi?id=727953
2014-04-24 10:46:51 +01:00
Nicolas Dufresne
1c1cc73a3b decklink: Fix support for HW without output
Devices suitable for decklinksrc may not have any output, hence querying
the input returns NULL. Add support for all cases where
input/output/config may be missing.

https://bugzilla.gnome.org/show_bug.cgi?id=727306
2014-04-23 12:42:44 -04:00
Nicolas Dufresne
68309bd215 y4mdec: check for VIDEO meta instead of CROP meta
This element only need stride support, but checks for CROP_META, which
is a bit too much, even though this works as CROP imply having VIDEO
meta.

https://bugzilla.gnome.org/show_bug.cgi?id=726255
2014-04-23 12:42:44 -04:00
Vincent Penquerc'h
8250a7d531 dvbbasebin: fix test for proper use count balancing
usecount is unsigned, so too many "unuse" will wrap the counter
around and the >= 0 check will always be fine.

It would be much simpler to just make the counter signed, but
moving the checks where the decrements happen allow a mistake
to be detected earlier, and thus easier to debug.

Coverity 1139791
2014-04-21 09:34:46 +01:00
Andoni Morales Alastruey
110c21a136 vtenc: fix complier error using fixed lenght arrays 2014-04-18 20:17:00 +02:00
Edward Hervey
c45b44e309 dvb: Fix if() check
introduced by my previous commit :(
2014-04-16 16:07:17 +02:00
Edward Hervey
d16cc860a3 dvb/camsession: Don't do operations on unexisting sessions
CID #206114
2014-04-16 15:37:57 +02:00
Edward Hervey
1a42aaad47 dvb: Handle socket() failure
CID #206178
2014-04-16 15:32:32 +02:00
Edward Hervey
012b5b8d4a dvbsrc: Handle failure to get statistics from the device
Check the ioctl return value and don't output bogus values.

CID #206016
2014-04-16 15:23:57 +02:00
Edward Hervey
c947e820cf dvbsrc: Don't close a fd that wasn't open
We are handling the failure cases in this block where the open failed

CID #206179
2014-04-16 15:18:44 +02:00
Edward Hervey
bf043208cd dvbsrc: Don't try to access NULL string
And refactor the pid setting code to be in its own function for clarity

CID #206374
2014-04-16 15:17:03 +02:00
Edward Hervey
c400eef377 dvbsrc: Handle symbols added in minor version 7 and 8
Some symbols were re-defined in minor v8 (GO TEAM BACKWARDS COMPATIBLE!)

Some symbols were added in minor v7

https://bugzilla.gnome.org/show_bug.cgi?id=727977
2014-04-11 10:18:32 +02:00
Edward Hervey
0cf6b2be3e dvbsrc: Add comment with all DVB API v5 minor changes
There wasn't a definite list anyway, so I just dove in the kernel
and extract all that information.
2014-04-11 08:18:59 +02:00
Vincent Penquerc'h
c78edf5afc decklink: initialize priv to NULL
While the code that creates the object sets priv to some existing
pointer after new, this ensures any future new not doing this will
hit the various priv!=NULL asserts in the code.

Coverity 1139935
2014-04-09 11:43:23 +01:00
Vincent Penquerc'h
b4d62ce210 mfc: fix left crop change test
It was testing a noop

Coverity 1139643
2014-04-09 11:04:32 +01:00
Vincent Penquerc'h
5feeee62c8 shm: remove dead code
Coverity 1139683
2014-04-09 11:00:22 +01:00
Vincent Penquerc'h
517252e110 mfc: reset "in use" flag on failure to initialize 2014-04-09 10:57:04 +01:00
Vincent Penquerc'h
3aba455c5e mfc: test for allocation failure before dereferencing
Coverity 1139849
2014-04-09 10:56:59 +01:00
Tim-Philipp Müller
3f1eb8ee71 d3dvideosink: post proper error message when window disappears 2014-04-08 17:52:12 +01:00
Tim-Philipp Müller
d576a7b5eb dvb: fix compilation 2014-04-08 16:09:16 +01:00
Vincent Penquerc'h
dd77b7ad79 dvb: reject too long socket paths
Coverity 206004
2014-04-08 15:27:40 +01:00
Xavi Artigas
e12646f30a directsoundsrc: Fix critical due to missing debug category initialization
https://bugzilla.gnome.org/show_bug.cgi?id=727812
2014-04-08 13:39:22 +02:00
Sebastian Dröge
c84278ae04 d3dvideosink: Only pass a dest rectangle if set, otherwise pass NULL
Call with an uninitialized rectangle will cause errors.

https://bugzilla.gnome.org/show_bug.cgi?id=714998
2014-04-02 23:10:01 +02:00
Andoni Morales Alastruey
86e96cfdc6 winks: port to 1.0
https://bugzilla.gnome.org/show_bug.cgi?id=702041
2014-03-15 15:34:29 +01:00
Stefan Ringel
fd8bda1c03 dvbsrc: mpegts: change bandwidth to DVBv5 values
Signed-off-by: Stefan Ringel <linuxtv@stefanringel.de>

https://bugzilla.gnome.org/show_bug.cgi?id=725463
2014-03-15 18:33:18 +01:00
Sebastian Dröge
cba13ef301 atdec: Add some more debug output 2014-03-11 15:33:26 +01:00
Sebastian Dröge
fa8a7d7659 atdec: Implement draining properly 2014-03-11 15:33:26 +01:00
Sebastian Dröge
53ab9c6613 atdec: First dequeue a buffer before enqueueing anything from the queue
Required for offline rendering according to the docs. wtf.
2014-03-11 15:33:26 +01:00
Sebastian Dröge
f331d3159f atdec: Keep track of the current position
It's required to set a valid sample time for decoding on iOS.
2014-03-11 15:33:26 +01:00
Sebastian Dröge
8d8b3c0401 atdec: Always try to pull one decoded frame out of the queue
... instead of doing magic calculations with the buffer duration.
2014-03-11 15:33:25 +01:00
Sebastian Dröge
41b2cca8fc atdec: Handle errors in handle_frame() properly 2014-03-11 15:33:25 +01:00
Sebastian Dröge
dfe476c444 atdec: Call AudioQueueReset() for flushing
AudioQueueFlush() is for draining all remaining data.
2014-03-11 15:33:25 +01:00
Sebastian Dröge
1c13e513c9 atdec: Set correct number of frames for MP3 2014-03-11 15:33:25 +01:00
Sebastian Dröge
2d8b195911 atdec: Initialize the audio description with zeroes 2014-03-11 15:33:25 +01:00
Sebastian Dröge
a43db678c1 atdec: Set the correct layer depending on the MP3 caps 2014-03-11 15:33:25 +01:00
Andres Gomez
2129b4739b wininet: "iradio-mode" property defaults to TRUE
As per discussed in bug #725383, it doesn't make much sense to default
to FALSE in the "iradio-mode" property. Better, let's sent the header
by default and just ignore headers that are not understood, if so.

https://bugzilla.gnome.org/show_bug.cgi?id=725659
2014-03-05 20:28:04 +01:00
Sebastian Dröge
22b4223c86 configure: Rename all variables related to the winks plugin
It does not make sense to call them after directshow if they
are for the winks plugin only.

https://bugzilla.gnome.org/show_bug.cgi?id=724100
2014-02-16 10:09:18 +01:00
Sebastian Dröge
5b23cf694c amcaudiodec: Calculate number of samples per frame for MP3 and use that
Some audio decoders (at least the MP3 decoder on MTK based devices) outputs
raw audio in batches of multiple audio frames. We need to handle that
properly, otherwise the base class will be kind of unhappy.
2014-02-14 12:51:50 +01:00
Sebastian Dröge
aeeeedd7c7 amcaudiodec: Error out if we get an invalid raw audio buffer size 2014-02-14 12:51:50 +01:00
Sebastian Dröge
cea218db6f amcvideodec: Store return value of gst_caps_merge_structure()
The inputs are both invalid afterwards.
2014-02-14 12:51:50 +01:00
Sebastian Dröge
faf48d26bf amcvideodec: Release buffer to Android if allocating output failed 2014-02-14 12:51:50 +01:00
Sebastian Dröge
2476b926b1 amcaudiodec: Release buffer back to Android if allocating output fails 2014-02-14 12:51:50 +01:00
Aleix Conchillo Flaqué
fd27bdf5f0 shm: call close() after shutdown()
shutdown() doesn't close the file descriptor so we leak sockets if we
don't call close().

https://bugzilla.gnome.org/show_bug.cgi?id=724077
2014-02-10 18:53:44 -05:00
Aleix Conchillo Flaqué
f5a1ccd0de shm: use shutdown() instead of close()
we make sure both ends get notified when the socket is closed by using
shutdown() instead of close().

https://bugzilla.gnome.org/show_bug.cgi?id=724077
2014-02-10 18:03:18 -05:00
Руслан Ижбулатов
ad92dfc7b4 winks: Make headers known to automake
Fixes #724003
2014-02-10 09:32:49 +01:00
Sebastian Dröge
6d7fcc6890 vdpau: Fix comparison compiler warning
error: comparison of constant -1 with expression
of type 'const GstVideoFormat' is always false
2014-02-08 18:56:06 +01:00
Sebastian Dröge
cde8be156f uvch264src: Fix unitialized variable compiler warnings 2014-02-08 18:54:58 +01:00
Edward Hervey
72127a85f5 applemedia: Fix libtool usage
--tag=CC is needed for static build
2014-02-06 16:17:39 +01:00
Sebastian Dröge
30d80bf658 androidmedia: Don't handle FLUSHING or NOT_LINKED as error
And also just stop the task for FLUSHING.
2014-01-25 17:41:18 +01:00
Alexey Chernov
d96999328a d3dvideosink: First destroy the window, then unregister the class
It's impossible to create another pipeline with d3dvideosink after disposing
the previous one due to some problem in d3dvideosink. The message is: "Unable
to register Direct3D hidden window class".

I've evaluated the problem and it's that UnregisterClass() in working thread is
called before DestroyWindow() and UnregisterClass() does nothing.

https://bugzilla.gnome.org/show_bug.cgi?id=722622
2014-01-21 09:45:07 +01:00
Sebastian Dröge
0d794993fb applemedia: Actually the enc/decbins are not used anywhere currently
Code is commented out.
2014-01-20 10:38:16 +01:00
Sebastian Dröge
1107e158f7 applemedia: Fix build on iOS and probably also on OSX
The video toolbox is not available on iOS, and also on OSX
we should probably build all source files that are used for
it.

https://bugzilla.gnome.org/show_bug.cgi?id=722590
2014-01-20 10:34:57 +01:00
Jorge Zapata
c9abe8c50d amcvideodec: Add the divx variant for mpeg4 video
Looks like all the mpeg4 video decoders also accept the divx
variants. So we better add those caps too

https://bugzilla.gnome.org/show_bug.cgi?id=711163
2014-01-14 20:49:24 +01:00
Olivier Crête
77b339bf5c shmsink: Document that socket-path may change 2014-01-03 11:18:06 -05:00
Olivier Crête
93abc06ae8 shmsink: Change default shm size to 64 MiB
The original size of 256k was too small for anything where
one would want to use shm. If the buffer's size needs to be limit, it is
better to use buffer-time in most cases anyway.
2014-01-03 11:16:42 -05:00
Stefan Ringel
cd11a38bf0 dvbsrc: Add dvb-s2, dvb-t2 support
https://bugzilla.gnome.org/show_bug.cgi?id=709414
2014-01-03 11:26:26 +01:00
Stefan Ringel
e34df02115 dvbsrc: Change from deprecated frontend type field to DTV_ENUM_DELSYS
-add delsys property
-add delivery system capability to the gstreamer adapter structure
-ready for add new delivery systems

Application must ask the adapter structure to know which delivery systems are avaible.
The property delsys must be set.

https://bugzilla.gnome.org/show_bug.cgi?id=709414
2014-01-03 11:26:12 +01:00
Jan Schmidt
1df82fc14f androidmedia: Add new color format, and enhance debug output
Add a new color format seen on my Galaxy S3
(OMX_SEC_COLOR_FormatNV12Tiled = 0x7fc00002) to the table,
but don't actually implement it - the decoder doesn't choose it.

Remove an assert that makes the plugin fail noisily and take the app down
if it sees a color format it doesn't recognise (just skip the codec instead)

Modify the debug output when plugin scanning to print color format info to
make this sort of thing easier in the future.
2013-12-31 23:24:06 +11:00
Víctor Manuel Jáquez Leal
dedb95dc6f mfc: fix input dequeue for odroid
https://bugzilla.gnome.org/show_bug.cgi?id=721027
2013-12-27 15:52:03 +01:00
Alessandro Decina
cd90748c5b applemedia: vtdec: set the correct stride in the video meta 2013-12-22 17:48:25 +01:00
Alessandro Decina
7a8d918472 applemedia: atdec: fix aac decoding on Mavericks 2013-12-22 17:48:25 +01:00
Alessandro Decina
cf2cf20cc3 applemedia: corevideobuffer: fix for planar formats 2013-12-19 08:59:39 +01:00
Alessandro Decina
a75ddf446b applemedia: vtdec: remove silly stride requirement
This is legacy from the 0.10 times, and it isn't clear how it was useful back
then also.'
2013-12-19 08:59:39 +01:00
Davide Bertola
72e989f2da applemedia: vtdec: Enable hardware accelerated decoding on 10.9 2013-12-18 10:28:17 +01:00
Sebastian Dröge
46b62c72d8 decklinksink: Give preference to the order of the filter caps when querying caps 2013-12-17 10:23:15 +01:00
Sebastian Dröge
007807d149 decklinksink: Only intersect with the filter caps if there actually is a filter 2013-12-17 10:21:26 +01:00
Todd Agulnick
44b9429516 decklinksrc: Process EOS even when there are no incoming video frames.
https://bugzilla.gnome.org/show_bug.cgi?id=680700
2013-12-15 10:15:31 +01:00
Alessandro Decina
d5eccb2285 applemedia: vtdec: handle level 3 in get_dpb_max_mb_s_from_level. oops. 2013-12-14 19:18:41 +01:00
Alessandro Decina
44e62613db applemedia: atdec: fix mp3 caps 2013-12-14 19:18:41 +01:00
Sebastian Dröge
234f3c73dc decklinksrc: Set GST_ELEMENT_FLAG_SOURCE on the source
As it does not inherit from basesrc, this flag is not automatically set
and e.g. gst_bin_iterate_sources() and other code does not consider this
element a source.

https://bugzilla.gnome.org/show_bug.cgi?id=680700
2013-12-14 18:43:03 +01:00
Alessandro Decina
f387bd0342 applemedia: always include <Foundation/Foundation.h>
Fixes compilation with newest xcode.
2013-12-14 13:30:01 +01:00
Alessandro Decina
de60453a33 applemedia: vtdec: fix compiler warning (uninitialized variable) 2013-12-11 18:52:53 +01:00
Alessandro Decina
00392a6d16 applemedia: vtdec: rename reorder_queue_frame_delay to reorder_queue_length 2013-12-11 08:12:37 +01:00
Alessandro Decina
596aa8e05a applemedia: vtdec: report latency 2013-12-11 08:12:36 +01:00
Alessandro Decina
733a780e9d applemedia: vtdec: set reorder queue length to the max DPB length
Set reorder_queue_frame_delay from the DPB size (in frames). Still not optimal,
as the DPB size is larger than the max bframe forward prediction length, but I
don't know how to compute the latter without parsing every group of pictures.
2013-12-11 08:12:36 +01:00
Alessandro Decina
7dffa2e1f2 applemedia: vtdec: set the correct video format in the video meta
Fixes all kinds of weird bugs when videoconvert is used with the decoder.
2013-12-10 11:12:56 +01:00
Alessandro Decina
ffeb719d4c applemedia: corevideobuffer: set the correct stride for packed formats 2013-12-08 16:46:58 +01:00
Alessandro Decina
839970e07c applemedia: vtdec: fix mpeg2 video support 2013-12-08 15:31:09 +01:00
Alessandro Decina
938ce6a23d applemedia: vtdec: make jpeg decoding actually work 2013-12-08 15:25:27 +01:00
Alessandro Decina
1cd62000f5 applemedia: vtdec: fail gracefully when not negotiated 2013-12-08 15:24:58 +01:00
Alessandro Decina
b1a756fda7 applemedia: rewrite VideoToolbox decoder based on GstVideoDecoder 2013-12-08 15:13:26 +01:00
Sebastian Dröge
219275dbb6 amcvideodec: Use new gst_video_decoder_set_needs_format() API 2013-12-05 11:50:17 +01:00
Sebastian Dröge
edf89926d6 mfcdec: Use new gst_video_decoder_set_needs_format() API 2013-12-05 11:50:17 +01:00
Tim-Philipp Müller
1698d3254d qtwrapper: g_memmove() is deprecated
Just use plain memmove(), g_memmove() is deprecated in
recent GLib versions.

https://bugzilla.gnome.org/show_bug.cgi?id=712811
2013-11-21 15:54:32 +00:00
Matthieu Bouron
58be5ce16d avfvideosrc: declare missing instance variables
Fixes build on 32-bit system.

https://bugzilla.gnome.org/show_bug.cgi?id=711844
2013-11-11 14:36:19 +01:00
Andoni Morales Alastruey
31d7c42158 coremediabuffer: keep an extra ref to the image and data buffer 2013-11-07 21:37:29 +01:00
Matthieu Bouron
78f104aa61 applemedia: coremediabuffer: use correct retain/release functions on CMSampleBufferRef buffer
Fixes a crash while releasing the sample buffer after the image
buffer it contains.

Also fixes a minor coding style error.

https://bugzilla.gnome.org/show_bug.cgi?id=711606
2013-11-07 18:47:15 +01:00
Matthieu Bouron
c9a8224553 qtkitvideosrc: lower rank to GST_RANK_SECONDARY
Makes avfvideosrc be prefered over qtkitvideosrc since it is deprecated
with OS X 10.9.

https://bugzilla.gnome.org/show_bug.cgi?id=711614
2013-11-07 18:44:39 +01:00
Matthieu Bouron
314e01e83f avfvideosrc: set rank to GST_RANK_PRIMARY
Makes avfvideosrc to be used with autodetection.

https://bugzilla.gnome.org/show_bug.cgi?id=711614
2013-11-07 18:44:27 +01:00
Andoni Morales Alastruey
7e195cdcdc avfvideosrc: fix compiler warning in iOS 2013-11-07 15:24:29 +01:00
Andoni Morales Alastruey
98e849a092 avfvideosrc: fix build in iOS with isEqualTo doesn't exists 2013-11-07 15:24:28 +01:00
Andoni Morales Alastruey
a2b90eeb8c avfvideosrc: fix build with older SDK not supporting AVDeviceFormat
AVDeviceFormat and AVFrameRateRange are available in iOS since 7.0
so we need a more dynamic approach to support compilation with older
SDK's. We use a NSObject to avoid referencing those types and key-value
coding or preformSelector to access properties.
2013-11-07 15:24:28 +01:00
Andoni Morales Alastruey
46a61ea036 avfvideosrc: fix checks for HAVE_IOS 2013-11-07 15:24:28 +01:00
Andoni Morales Alastruey
81cb13be64 avfvideosrc: include config.h 2013-11-07 15:24:28 +01:00
Andoni Morales Alastruey
ef7f6e4654 avfvideosrc: add more debug 2013-11-07 15:24:28 +01:00
Andoni Morales Alastruey
606a50e550 avfvideosrc: fix compilation with gcc
The synthesize block needs to be moved to fix a compiler error
2013-11-07 15:24:28 +01:00
Andoni Morales Alastruey
94d77829a4 avfvideosrc: sort caps with the highest resolution first
When started without any caps filter we prefer the highest
supported resolution.
2013-11-07 15:24:28 +01:00
Matthieu Bouron
66334591cc avfvideosrc: support screen capture on OSX
https://bugzilla.gnome.org/show_bug.cgi?id=711432
2013-11-07 15:24:28 +01:00
Matthieu Bouron
88b5ff76f6 avfvideosrc: minor cosmetic 2013-11-07 15:24:28 +01:00
Matthieu Bouron
752d74b31f avfvideosrc: use input device formats to set/get caps if available
https://bugzilla.gnome.org/show_bug.cgi?id=711211
2013-11-07 15:24:28 +01:00
Matthieu Bouron
35587efdc9 avfvideosrc: update caps if frame size has changed
On OSX, setting the pixel format on the output reset the capture device
to its native resolution, so we need to update the caps if the output
frame size has changed before a proper solution is found.
2013-11-07 15:24:28 +01:00
Matthieu Bouron
fae79751ad avfvideosrc: check if low preset is available 2013-11-07 15:24:28 +01:00
Matthieu Bouron
7f807270fa avfvideosrc: use a dedicated queue for AVFoundation calls
Replace the main queue with a dedicated queue for AVFoundation calls
so the execution on this queue won't block if the main queue
is not running.
2013-11-07 15:24:28 +01:00
Matthieu Bouron
5d612768a4 avfvideosrc: remove trailing space 2013-11-07 15:24:28 +01:00
Matthieu Bouron
19844fab47 avfvideosrc: dispatch AVFoundation calls synchronously in the main queue 2013-11-07 15:24:27 +01:00
Matthieu Bouron
0d74dc802a applemedia: enable avfvideosrc if AVFoundation is present 2013-11-07 15:24:27 +01:00
Matthieu Bouron
b6925d5c56 avfvideosrc: only enable 1920x1080 preset on iOS 2013-11-07 15:24:27 +01:00
Matthieu Bouron
06d59e7829 applemedia: port avfvideosrc to 1.0 2013-11-07 15:24:27 +01:00
Sebastian Dröge
1009484090 applemedia-nonpublic: Link with gmodule for g_module_open() and others 2013-11-04 10:05:41 +01:00
Sebastian Dröge
831c67c07b applemedia: Link with gmodule for g_module_open() and others 2013-11-04 10:05:40 +01:00
Andoni Morales Alastruey
786f5e4f7c androidmedia: fix rank for more software decoders
In Galaxy S4 the codecs list contains some OMX.SEC.foo.sw.dec
as software decoders

https://bugzilla.gnome.org/show_bug.cgi?id=711214
2013-10-31 16:38:41 +01:00
Matthieu Bouron
7ec5f8527a applemedia-nonpublic: fix plugin name
https://bugzilla.gnome.org/show_bug.cgi?id=711135
2013-10-30 16:29:13 +00:00
Matthieu Bouron
1b2b879bf4 vtenc: use proper release callback type in CVPixelBufferCreateWithPlanarBytes
https://bugzilla.gnome.org/show_bug.cgi?id=711140
2013-10-30 16:27:58 +00:00
Matthieu Bouron
22eaf39c1a avfvideosrc: fix truncated line
https://bugzilla.gnome.org/show_bug.cgi?id=710657
2013-10-30 16:27:58 +00:00
Andoni Morales Alastruey
6b49683447 androidmedia: fix access to invalid buffers in the decoding loop
Flushing the decoder invalidates all buffers, so it should be done
after quiting the decoding loop. Otherwise we can jump into
"failed_release" and stop everything

https://bugzilla.gnome.org/show_bug.cgi?id=711156
2013-10-30 16:24:17 +01:00
Chen Jie
b05a1f75fd androidmedia: make gst_amc_avc_profile_from_string recognize alt name
https://bugzilla.gnome.org/show_bug.cgi?id=710433
2013-10-18 10:01:43 +01:00
Dominik Röttsches
b002490ab2 vtenc: Add support for I420
https://bugzilla.gnome.org/show_bug.cgi?id=709241
2013-10-02 13:18:04 +02:00
Dominik Röttsches
24c79af394 vtenc: Use correct strides, etc from the GstVideoFrame
https://bugzilla.gnome.org/show_bug.cgi?id=706211
2013-10-02 13:14:32 +02:00
Sebastian Dröge
4bed01aff9 iosassetsrc: Port to 1.0 and fix some bugs on the way 2013-09-28 20:36:21 +02:00
Andoni Morales Alastruey
e5d5faa67e iosassetsrc: Add new element from the GStreamer SDK project 2013-09-28 20:36:21 +02:00
Sebastian Dröge
dd19715961 applemedia: avfvideosrc is not ported to 1.0 yet 2013-09-28 20:36:21 +02:00
Sebastian Dröge
1ab90f259f bluez: Fix compilation on big endian systems 2013-09-25 20:28:03 +02:00
Sebastian Dröge
2b94641a42 amcvideodec: Don't put the level restrictions on the sinkpad caps
They tend to be inaccurate and having them in the sinkpad caps
prevents playback of files that would otherwise play fine.
2013-09-12 13:23:28 +02:00
Olivier Crête
fb639741d7 uvch264src: Fix small mem leak 2013-09-09 13:14:24 -04:00
Olivier Crête
8fb6628842 uvch264src: Let the caps be NULL if there is no peer 2013-09-05 19:24:07 -04:00
Olivier Crête
5ac10edde7 uvch264src: No need to drop segment events
In 1.0, segment events are sticky and not additive, no need to prevent
their accumulation.
2013-09-05 19:24:07 -04:00
Tim-Philipp Müller
fb9fbc8fba decklinksrc: send caps event before segment 2013-09-05 19:10:31 +01:00
Sebastian Dröge
d065c09684 amcvideodec: Port tiled NV12 conversion to 1.0 2013-09-03 11:06:00 +02:00
Sebastian Dröge
c4e742f428 amcvideodec: Add FIXME comment 2013-09-03 11:06:00 +02:00
Jorge Luis Zapata
48484f04a2 androidmedia: add support for a new qualcomm colorspace 2013-09-03 11:06:00 +02:00
Andoni Morales Alastruey
ef7a8c2ca8 d3dvideosink: disable buffer pools
On a device lost, all the surfaces allocated in the
device need to be released before resetting the device,
which can't be done for the allocated buffers.

https://bugzilla.gnome.org/show_bug.cgi?id=706566
2013-09-02 18:21:11 +02:00
Sebastian Dröge
5a82dc9028 avdtputil: Some minor cleanup and leak fixes 2013-08-29 10:20:56 +02:00
Bernhard Miller
597e3cc98d bluez: support aac in avdtpsrc
Signed-off-by: Bernhard Miller <bernhard.miller@streamunlimited.com>
2013-08-29 10:17:07 +02:00
Sebastian Dröge
6f4f84fea0 directsoundsrc: Remove unused variable 2013-08-22 17:32:17 +02:00
Kishore Arepalli
9df9ee426e directsoundsrc: Add 'device-name' property for selecting a audio device
https://bugzilla.gnome.org/show_bug.cgi?id=706574
2013-08-22 15:10:20 +02:00
Edward Hervey
c3e4fe4edc dvb: Adapt for latest mpegts lib changes 2013-08-21 08:59:42 +02:00
Robert Krakora
006e7a3428 uvch264src: don't error out on incomplete aux data segment
It appears that the Logitech C920 sometimes drops the next
to last segment of RAW aux data contained within the MJPEG
container.  H264 data that is multiplexed with in the same
container does not appear to be affected.  This appears to
be a bug in the Logitech C920 firmware and uvch264src should
not error out in this case.

Sometimes it can take 24 hours of continuous streaming for
the problem to occur, but sometimes it takes only a couple
of hours.

https://bugzilla.gnome.org/show_bug.cgi?id=706276
2013-08-20 18:57:01 +01:00
Sebastian Dröge
2e8af6973f ext: Use new flush vfunc of video codec base classes and remove reset implementations 2013-08-15 15:46:58 +02:00
Tim-Philipp Müller
9d92aaabe7 dvbbasebin: fix criticals when trying to cast a GstPad to a GstElement
message->src might be a GstPad. Observed during gst-inspect-1.0 -a
2013-08-14 13:29:02 +01:00
Tim-Philipp Müller
6f5934f3aa uvch264mjpgdemux: fix event ordering 2013-08-10 21:35:09 +01:00
Tim-Philipp Müller
933965984f dvbsrc: remove use of _XOPEN_SOURCE
Which causes problems when used with _GNU_SOURCE apparently, and it
seems it was only set because of usleep(), which we can just replace
with g_usleep() until we get rid of those entirely.

https://bugzilla.gnome.org/show_bug.cgi?id=705208
2013-08-03 18:09:24 +01:00
Bernhard Miller
f3d6e46454 bluez: return GST_FLOW_EOS in avdtpsrc create when stream is EOF
Signed-off-by: Bernhard Miller <bernhard.miller@streamunlimited.com>

https://bugzilla.gnome.org/show_bug.cgi?id=705349
2013-08-02 14:40:54 +01:00
Edward Hervey
97426a1caa all: Fix for GST_DISABLE_GST_DEBUG
Where applicable, remove methods that don't do anything different than
the default implementation.
2013-07-29 09:42:12 +02:00
Olivier Crête
b52a84354e uvch264_mjpgdemux: Remove duplicated variables 2013-07-28 17:29:32 +02:00
Olivier Crête
8b80d60648 uvch264_mjpgdemux: Don't unmap/unref buffer if it's pushed out as-is 2013-07-28 17:25:34 +02:00
Robert Krakora
bd386a2785 uvcv4l2_mjpegdemux: Unmap buffer
https://bugzilla.gnome.org/show_bug.cgi?id=699517
2013-07-28 17:25:27 +02:00
Alessandro Decina
95d5a8055b applemedia: atdec: destroy the queue if set_format fails 2013-07-24 09:18:43 +02:00
Alessandro Decina
10d02e381b applemedia: atdec: remove c++ style comments 2013-07-24 09:15:49 +02:00
Alessandro Decina
d71aaec486 applemedia: atdec: 1st round of fixes 2013-07-24 09:11:59 +02:00
Alessandro Decina
92bcdd9c4b applemedia: add AudioToolbox based audio decoder 2013-07-23 10:36:47 +02:00