Sebastian Dröge
ec9dde48e5
omxvideodec: If no stride was set for the OMX output port assume GStreamer stride
...
This is not really correct but there's nothing else we could do.
2011-11-02 10:39:50 +01:00
Sebastian Dröge
7ebef2941b
omxvideoenc: If no stride was set for the OMX input port assume GStreamer stride
...
This is not really correct but there's nothing else we could do.
2011-11-02 10:39:10 +01:00
Sebastian Dröge
1ef38751c7
omxaudioenc: Implement draining of the component and use it
...
This makes sure that all buffers are encoded and pushed downstream
before flushing the ports and losing some buffers.
2011-11-01 16:46:09 +01:00
Sebastian Dröge
8eaf25c10e
omxvideoenc: Implement draining of the component and use it
...
This makes sure that all buffers are encoded and pushed downstream
before flushing the ports and losing some buffers.
2011-11-01 16:41:46 +01:00
Sebastian Dröge
e4b7ffcc1b
omxvideodec: Implement draining of the component and use it
...
This makes sure that all buffers are decoded and pushed downstream
before flushing the ports and losing some buffers.
2011-11-01 16:23:22 +01:00
Sebastian Dröge
2f2c17a1b5
omxvideodec: Fix deadlock if ::reset is called before finding the corresponding frame of a decoded buffer
2011-11-01 16:23:22 +01:00
Sebastian Dröge
f93a45fb66
omxaudioenc: Forward downstream flow returns to upstream
2011-11-01 15:10:12 +01:00
Sebastian Dröge
21faf556ff
omxvideoenc: Forward downstream flow returns to upstream
2011-11-01 15:10:01 +01:00
Sebastian Dröge
3b4260e54f
omxvideodec: Forward downstream flow returns to upstream
2011-11-01 13:58:38 +01:00
Sebastian Dröge
f631097284
omx: Add minimal README file
2011-10-25 14:24:59 +02:00
Sebastian Dröge
10a5680692
omxvideodec: Fix deadlock caused by calling reset while the loop function does something with the base video codec stream lock
2011-10-20 15:21:07 +02:00
Sebastian Dröge
6689faa661
omxvideoenc: Fix deadlock caused by calling reset while the loop function does something with the base video codec stream lock
2011-10-20 15:20:47 +02:00
Sebastian Dröge
cf6f14d03c
omxvideodec: Move locking at the correct place
2011-10-20 14:30:38 +02:00
Sebastian Dröge
72fa93956b
omx: Remove QCOM hack to reset nOffset in EmptyBufferDone
...
This is now done in a generic way that does not require any
hacks because it will work without any side effects on any
OMX implementation.
2011-10-14 10:27:47 +02:00
Sebastian Dröge
2750a8869b
omx: Reset nOffset to 0 in EmptyBufferDone if nFilledLen is 0
...
Some OMX implementations don't reset nOffset when the complete
buffer is emptied but instead only reset nFilledLen. We reset
nOffset to 0 if nFilledLen == 0, which is safe to do because
the offset *must* be 0 if the buffer is not filled at all.
Seen in QCOM's OMX implementation.
2011-10-14 10:26:21 +02:00
Sebastian Dröge
ac8085dce9
omxvideoenc: If one parameter/configuration is not supported don't skip the next
2011-10-10 10:38:29 +02:00
Sebastian Dröge
37967b4316
omxh264dec: Require stream-format=byte-stream
...
Other stream-formats are unlikely to be supported by OMX components.
2011-10-03 09:13:29 +02:00
Sebastian Dröge
bb1dd8aaba
omxvideodec: Add API for subclasses to prepare/convert frames
2011-09-29 10:44:20 +02:00
Sebastian Dröge
febb83ec54
omxaudioenc: Switch to Idle first and wait before switching to Loaded and deallocating buffers
...
Allocating buffers before the Idle state is reached can lead to crashes.
2011-09-28 10:35:38 +02:00
Sebastian Dröge
e364088596
omxvideoenc: Switch to Idle first and wait before switching to Loaded and deallocating buffers
...
Allocating buffers before the Idle state is reached can lead to crashes.
2011-09-28 10:35:37 +02:00
Sebastian Dröge
ab9ce7db7d
omxvideodec: Switch to Idle first and wait before switching to Loaded and deallocating buffers
...
Allocating buffers before the Idle state is reached can lead to crashes.
2011-09-28 10:35:37 +02:00
Sebastian Dröge
792cdb7d1f
omxvideodec: New hack for QCOM to recreate the component instead of reconfiguring it on caps changes
2011-09-28 10:35:31 +02:00
Sebastian Dröge
a7f77e22a4
omx: Change a g_assert() into a GST_WARNING_OBJECT()
2011-09-27 12:28:22 +02:00
Sebastian Dröge
837fc4ca66
omx: Add hack for Qualcomm's OMX implementation to manually reset nOffset in EmptyBufferDone
2011-09-26 13:05:23 +02:00
Sebastian Dröge
7dbf68a232
omxaudioenc: Add a check to prevent a zero-sized OMX buffer
2011-09-23 17:04:15 +02:00
Sebastian Dröge
d5452a53b0
omxvideoenc: Add some more checks for correct OMX buffer sizes
2011-09-23 17:04:14 +02:00
Sebastian Dröge
5659bd3b4f
omxvideodec: Add some more checks for OMX buffer sizes
2011-09-23 16:40:30 +02:00
Sebastian Dröge
f0fe1148b7
omx: Wait until the Executing state is reached before calling OMX_FillThisBuffer()
...
This correctly works around the QCOM race condition that happens when calling
FTB after setting the new state and before reaching it.
2011-09-14 10:16:41 +02:00
Sebastian Dröge
3ba45aa0af
omxvideodec: Negotiate video format with downstream and what the component claims to support
2011-09-02 14:43:43 +02:00
Vincent Penquerc'h
fa2dff1ad6
basevideoencoder: fix element leak
...
and this concludes an hour of yelling at the bloody test failing,
only to track down the problem not being in the test.
https://bugzilla.gnome.org/show_bug.cgi?id=657368
2011-08-26 10:27:16 +02:00
Sebastian Dröge
9eb39ceef2
omxvideoenc: Release basevideocodec stream lock while waiting for a buffer
...
This prevents deadlocks if no empty input buffers are available and
releasing input buffers requires the loop function to handle some
output buffers first.
2011-08-19 09:23:58 +02:00
Sebastian Dröge
e583c48222
omxvideodec: Release basevideocodec stream lock while waiting for a buffer
...
This prevents deadlocks if no empty input buffers are available and
releasing input buffers requires the loop function to handle some
output buffers first.
2011-08-19 09:23:54 +02:00
Sebastian Dröge
e494792ca4
basevideodecoder: Fix deadlock
2011-08-18 10:24:40 +02:00
Sebastian Dröge
024f61e75a
baseaudiodecoder: Don't take the stream lock in the seek handler
...
This will lead to deadlocks
2011-08-18 10:03:20 +02:00
Sebastian Dröge
58104f9ce5
basevideo: Fix locking, especially if both pads have different streaming threads
2011-08-18 10:02:50 +02:00
Sebastian Dröge
d439d8c337
basevideo: Don't call g_type_class_peek_parent() in class_init
...
This is already done by the GObject boilerplate macro
2011-08-18 09:42:02 +02:00
Sebastian Dröge
6991638d72
baseaudiodecoder: Don't call g_type_class_peek_parent() in class_init
...
This is already done by the boilerplate macro
2011-08-18 09:40:46 +02:00
Sebastian Dröge
affd6e2eb9
baseaudiodecoder: Fix thread safety issues if both pads have different streaming threads
2011-08-18 09:34:38 +02:00
Sebastian Dröge
fc511eb45d
baseaudiodecoder: Delay sending of serialized events to finish_frame()
2011-08-18 09:17:04 +02:00
Sebastian Dröge
c5360dfae8
omxaudioenc: Always require at least OMX_MIN_PCMPAYLOAD_MSEC per input buffer
2011-08-17 14:33:31 +02:00
Sebastian Dröge
d42390efd9
baseaudioencoder: Add support for requesting a minimum and maximum number of samples per frame
...
This extends the special case of a fixed number of samples per frame
that was supported before already.
2011-08-17 14:28:44 +02:00
Sebastian Dröge
1daa53e554
omxaudioenc: Handle inbuf==NULL properly in ::handle_frame()
2011-08-17 14:17:18 +02:00
Sebastian Dröge
0928205ed4
omxaacenc: Implement ::get_num_samples() vfunc
2011-08-17 13:04:19 +02:00
Sebastian Dröge
d1e1980e01
omxaudioenc: Add vfunc to get the number of samples inside a buffer
2011-08-17 13:03:50 +02:00
Sebastian Dröge
92545e554c
omxaudioenc: Release baseaudioencoder stream lock while waiting for a buffer in ::handle_frame()
...
This prevents deadlocks if no empty input buffers are available and
releasing input buffers requires the loop function to handle some
output buffers first.
2011-08-17 11:34:31 +02:00
Sebastian Dröge
60a1e0e967
baseaudioencoder: Fix thread safety issues if both pads have different streaming threads
2011-08-17 11:34:04 +02:00
Sebastian Dröge
ebc740ea06
baseaudioencoder: Taking the OBJECT lock in reset() is not needed
2011-08-17 09:58:01 +02:00
Sebastian Dröge
c24533c8be
omxaudioenc: Remove hack that only applies to the video encoder class
2011-08-16 11:03:24 +02:00
Sebastian Dröge
422ca1796b
omxaacenc: Add initial version of OpenMAX AAC encoder element
2011-08-16 10:49:21 +02:00
Sebastian Dröge
3f33a577a9
omxaudioenc: Add initial version of audio encoder base class
2011-08-16 10:48:36 +02:00