Commit graph

1290 commits

Author SHA1 Message Date
Sebastian Dröge
bc7d2006e3 Fix chroma stride for I420 stride/crop conversion 2012-10-15 16:28:41 +02:00
Sebastian Dröge
7dbef6415f Fix Vorbis decoding 2012-10-15 16:28:41 +02:00
Sebastian Dröge
562b033872 Wait at most 100ms for dequeueing a buffer, and retry after that
Some codecs don't fail the dequeueing if the codec is flushed,
causing deadlocks when shutting down the element.
2012-10-15 16:28:41 +02:00
Sebastian Dröge
9a034f2beb Release output buffers a bit earlier 2012-10-15 16:28:41 +02:00
Sebastian Dröge
4c3617f7f0 Keep another reference of the input buffer in handle_frame()
It might be unreffed in the meantime by the other thread due
to finish_frame().
2012-10-15 16:28:41 +02:00
Sebastian Dröge
613a75ad92 Pass -1 as number of frames to the base class
This will automatically do the right thing if timestamps are good enough
2012-10-15 16:28:41 +02:00
Sebastian Dröge
0143418e0c Use correct buffer variable 2012-10-15 16:28:41 +02:00
Sebastian Dröge
bb8e53d4b8 Always pass 1 as number of frames to finish_frame() 2012-10-15 16:28:41 +02:00
Sebastian Dröge
99e287b86b Correctly remember number of channels and samplerate 2012-10-15 16:28:40 +02:00
Sebastian Dröge
efac01d096 Don't unref input buffer from handle_frame(), it's owned by the baseclass 2012-10-15 16:28:40 +02:00
Sebastian Dröge
3c40a9ca56 Remove invalid GST_ERROR() call 2012-10-15 16:28:40 +02:00
Sebastian Dröge
b07cd212ac Only try to get the channel-mask if it is set 2012-10-15 16:28:40 +02:00
Sebastian Dröge
afbc23ceed Add support for FLAC 2012-10-15 16:28:40 +02:00
Sebastian Dröge
b64e57ce42 Fix src template caps 2012-10-15 16:28:40 +02:00
Sebastian Dröge
6cc535581f Fix plugin initialization 2012-10-15 16:28:40 +02:00
Sebastian Dröge
77fbaae250 Add support for audio decoders, completely untested so far 2012-10-15 16:28:40 +02:00
Sebastian Dröge
de5375da81 Only set the SYNC_FRAME flag on the first buffer if we need to split the input 2012-10-15 16:28:40 +02:00
Sebastian Dröge
290d6f61c5 Ignore codecs with unknown color formats for stability purposes
They can be registered nonetheless if an environment variable
or compile-time #define is set.
2012-10-15 16:28:40 +02:00
Sebastian Dröge
65448a3790 Implement cropping and correctly handle the different color formats 2012-10-15 16:28:40 +02:00
Sebastian Dröge
3acc776dd6 Really implement stride conversion for NV12 too 2012-10-15 16:28:40 +02:00
Sebastian Dröge
266bc5bf69 Implement stride-conversion for I420 and NV12 2012-10-15 16:28:39 +02:00
Sebastian Dröge
024ac3560d Fix typo in previous commit 2012-10-15 16:28:39 +02:00
Sebastian Dröge
f2c5afd031 Don't allow using non-Google codecs if we started the Java VM ourselves
Hardware codecs, e.g. the TI ones, only work in processes that had their
Java VM started via the non-public AndroidRuntime class.
2012-10-15 16:28:39 +02:00
Sebastian Dröge
6feb6433d5 Rename to amc from androidmediacodec everywhere 2012-10-15 16:28:39 +02:00
Sebastian Dröge
2de542373b Improve debug output 2012-10-15 16:28:39 +02:00
Sebastian Dröge
0df00d68b5 Print the MediaFormats we get in the debug logs 2012-10-15 16:28:39 +02:00
Sebastian Dröge
11b8d33666 Improve debug output 2012-10-15 16:28:39 +02:00
Sebastian Dröge
d06af02637 Improve level/profile handling 2012-10-15 16:28:39 +02:00
Sebastian Dröge
2eff8bf82d Allow registering as static plugin with the GStreamer SDK API 2012-10-15 16:28:39 +02:00
Sebastian Dröge
b7a923234c If the buffer sizes are the same, just memcpy() to the output buffers 2012-10-15 16:28:39 +02:00
Sebastian Dröge
cb262e2465 Correctly convert timestamps between us and ns 2012-10-15 16:28:39 +02:00
Sebastian Dröge
2fe74efc04 Set SYNC_FRAME flag on buffers if required 2012-10-15 16:28:39 +02:00
Sebastian Dröge
ed98e8cf60 Improve flushing 2012-10-15 16:28:38 +02:00
Sebastian Dröge
d2aff4ecd3 Wait at most 0.5 seconds for getting an input buffer for EOS 2012-10-15 16:28:38 +02:00
Sebastian Dröge
3be4965d00 Correctly check for flushing 2012-10-15 16:28:38 +02:00
Sebastian Dröge
6a48db3d0f Retry for negative return values when dequeueing buffers 2012-10-15 16:28:38 +02:00
Sebastian Dröge
911ca50971 Fix refcount bug 2012-10-15 16:28:38 +02:00
Sebastian Dröge
b63c58e850 The MediaCodec API is apparently not threadsafe between stop() and release()
So we don't call release() and just hope for the GC to release the
codec in time.
2012-10-15 16:28:38 +02:00
Sebastian Dröge
525ecbb76a Fix plugin cache creation 2012-10-15 16:28:38 +02:00
Sebastian Dröge
e7b21d5796 Cache the codec informations inside the registry
Otherwise we would always load all codecs during plugin initialization
which can take quite some time (because of hardware) and also loads
lots of shared libraries (which number is limited by 64 in Android).
2012-10-15 16:28:38 +02:00
Sebastian Dröge
a98a627370 Properly attach and detach the current threads to the Java VM
Attaching a thread after it was detached will cause segfaults,
as such we use a pthread_key_t to keep track of the JNIEnv* of
the attached threads and in the destructor (i.e. when the
thread exits) we detach the thread.
2012-10-15 16:28:38 +02:00
Sebastian Dröge
bafd4a0b19 Don't get the output format from the codec before it is ready
Apparently things are crashing otherwise.
2012-10-15 16:28:38 +02:00
Sebastian Dröge
c4258069bb Get the input buffers from the codec 2012-10-15 16:28:38 +02:00
Sebastian Dröge
30b25fea35 Fix JNI method call signatures 2012-10-15 16:28:38 +02:00
Sebastian Dröge
686b9cf2fa Initialize the VM will full debugging for now 2012-10-15 16:28:37 +02:00
Sebastian Dröge
d7148efb8e Use NewStringUTF() instead of our own method for that 2012-10-15 16:28:37 +02:00
Sebastian Dröge
5bbaa1f359 Add the TI format to the mapping table too 2012-10-15 16:28:37 +02:00
Sebastian Dröge
e9790ae693 Add another TI specific OpenMAX color format 2012-10-15 16:28:37 +02:00
Sebastian Dröge
4966f68512 Fixes to element/elementfactory creation 2012-10-15 16:28:37 +02:00
Sebastian Dröge
32d4d29706 Some bugfixes to the codec scanning code
Also it's not possible to attach a thread after it was
detached once. As such we simply never detach any thread
at all now.
2012-10-15 16:28:37 +02:00
Sebastian Dröge
a48d2feae0 Fix some compilation errors 2012-10-15 16:28:37 +02:00
Sebastian Dröge
e9dcb1b329 Add important FIXME 2012-10-15 16:28:37 +02:00
Sebastian Dröge
1e73da2941 Add video decoder element 2012-10-15 16:28:37 +02:00
Sebastian Dröge
c846605082 Add some more JNI wrapping 2012-10-15 16:28:37 +02:00
Sebastian Dröge
a6a34c8f1c Add some missing color format constants 2012-10-15 16:28:37 +02:00
Sebastian Dröge
d0ebf261ff Implement basic wrapper around MediaCodec API
Ideally nothing else will be needed from the elements later.
2012-10-15 16:28:37 +02:00
Sebastian Dröge
f99214a657 Some more WIP
Scanning all codecs now and have data structures for holding codec
information and codec contexts. Also function declarations for
working with them.
2012-10-15 16:28:36 +02:00
Sebastian Dröge
8f232ea90b Initial commit 2012-10-15 16:28:36 +02:00
Sebastian Dröge
4cbb7b8a99 androidmedia: Add androidmedia plugin 2012-10-15 16:28:36 +02:00
Michael Smith
0c2159a220 meta info: register thread-safely. 2012-10-03 11:05:06 -07:00
David Schleef
65a1f79bcb decklink: change device instance lifecycle
The decklink driver eventually crashes after repeated creation/deletion
of device, input, output, and configuration objects.  Change to create
these at the outset and keep them around forever.
2012-09-23 21:27:36 +01:00
David Schleef
dd66252f23 decklinksrc: Fix memory leaks
Buffers now hold on to a reference for the input, so the input
object doesn't get freed (and carry the buffers with it) before
all the buffers are freed.
2012-09-23 21:27:34 +01:00
Mark Nauwelaerts
9cb0cc216d applemedia: init videoinfo 2012-09-18 13:19:37 +02:00
Mark Nauwelaerts
5431286b2a replace _get_caps_reffed with _get_caps 2012-09-14 17:55:05 +02:00
Mark Nauwelaerts
578861abea replace gst_element_class_set_details_simple with gst_element_class_set_metadata 2012-09-14 17:27:49 +02:00
Wim Taymans
b8f913555d ffmpegcolorspace is no more 2012-09-14 16:45:34 +02:00
Youness Alaoui
7a7267b402 uvch264: Make gudev/libusb a hard dependency and remove XU_FIND_UNIT ioctl support
Conflicts:
	sys/uvch264/gstuvch264_src.c
2012-09-11 15:00:18 -04:00
Mark Nauwelaerts
4a843dbbac d3dvideosink: port to the new GLib thread API 2012-09-11 15:12:55 +02:00
Olivier Crête
cfc94b8a45 uvch264src: Use generic marshaller 2012-09-10 16:12:39 -04:00
Youness Alaoui
1ba24e1306 UVC H264 plugin 2012-09-10 16:09:26 -04:00
David Schleef
85471f5ffa decklinksink: Fix memory leak 2012-09-09 02:07:24 +01:00
Tim-Philipp Müller
24c626ae1f shm: remove unneeded glib-gen-mak include in Makefile
No enums or marshallers to be generated here. Should also
be gst-glib-gen.mak then.
2012-08-24 09:01:41 +01:00
Edward Hervey
48ae90aff8 dvb: More fixups to 1.0
Not tested yet !

Conflicts:

	sys/dvb/gstdvbsrc.c
2012-08-14 19:07:06 +02:00
Edward Hervey
7a72c961de cam: Allow time for CA to initialize
Some devices take some time to initialize, and until they are they
will error out when trying to get information about the CA device.
2012-08-14 19:06:30 +02:00
Edward Hervey
25cb359ddb cam: PMT_REPLY parsing
Not used yet
2012-08-14 19:06:25 +02:00
Edward Hervey
dfdbb87813 dvbbasebin: Switch to use tsparse 2012-08-14 19:06:21 +02:00
Fabrizio (Misto) Milo
fe5cf525e1 dvbsrc + dvb api buffer property to overcome buffer under reads 2012-08-14 19:05:32 +02:00
Andoni Morales Alastruey
a3519d59ef winks: add missing default switch case 2012-08-07 19:05:10 +02:00
Andoni Morales Alastruey
71c1a0e999 winks: fix types 2012-08-07 19:05:04 +02:00
Andoni Morales Alastruey
97a95c9cba winks: fix format warnings 2012-08-07 19:05:00 +02:00
Andoni Morales Alastruey
64f77b2f84 winks: fix unused variables warnings 2012-08-07 19:04:55 +02:00
Andoni Morales Alastruey
4120cfa43f winks: don't reinitialize MEDIASUBTYPE_I420 2012-08-07 19:04:50 +02:00
Andoni Morales Alastruey
ffb40074cd winks: define STATIC_KSPROPSETID_Wave_Queued if not defined 2012-08-07 19:04:42 +02:00
Andoni Morales Alastruey
544840ff38 winks: integrate build with autotools 2012-08-07 19:04:36 +02:00
Andoni Morales Alastruey
a55786274d d3dvideosink: avoid duplicated symbols in static links
Rename the DLL entry point the avoid duplicated symbols in static
links.
2012-08-07 19:04:01 +02:00
Andoni Morales Alastruey
beea4bd161 d3dvideosink: avoid duplicated symbols in static links
Rename the DLL entry point the avoid duplicated symbols in static
links.
2012-08-06 14:37:36 +02:00
Wim Taymans
0fc94cd7b0 update for query api changes 2012-07-06 11:50:53 +02:00
Aleix Conchillo Flaque
7b6029ebe1 shmsrc: memory corruption when a client disconnects (fixes #679385) 2012-07-05 10:55:26 -07:00
Sebastian Dröge
a26e5bbf9b directsoundsrc: Chain up to the parent class' finalize implementation 2012-07-03 12:58:53 +02:00
David Schleef
71dcbbd52a decklinksink: Better handling of audio output
Conflicts:

	sys/decklink/gstdecklinksink.cpp
2012-07-03 09:11:52 +02:00
David Schleef
2a51113351 decklinksrc: Send newsegment events 2012-07-03 09:09:27 +02:00
David Schleef
8199f37f27 decklinksink: Mark element as sink element 2012-07-03 09:09:22 +02:00
David Schleef
70cef922a4 decklink: use GOnce in type registration 2012-07-03 09:09:18 +02:00
Tim-Philipp Müller
4f6b3b7bbd sys: make video sinks default to force-aspect-ratio=true 2012-06-29 12:03:51 +01:00
Wim Taymans
ba87a4524f fix x-wmv format string 2012-06-27 11:23:19 +02:00
Andoni Morales Alastruey
ad5b76a58d d3dvideosink: release the offscreen surface before the d3d device
The offscreen surface keeps a reference on the d3d device, so if the
device is released first we don't see the reference count debug message
going to 0 as it should be.
2012-06-26 09:40:29 +02:00
Andoni Morales Alastruey
53988c9a43 d3dvideosink: clean up element
Remove old commented code and uneeded extra indentation
2012-06-26 09:40:29 +02:00
Andoni Morales Alastruey
e1651e9b65 d3dvideosink: rework locking for devices lost 2012-06-26 09:39:36 +02:00
Andoni Morales Alastruey
bd68bd61da d3dvideosink: release and recreate the device in prepare_window 2012-06-26 09:39:36 +02:00
Tim-Philipp Müller
9af3852753 sys: remove left-over v4l2 dir which has moved to good
let's not keep a README around to announce it's moved to -good,
that's just clutter.
2012-06-21 12:17:09 +01:00