Sebastian Dröge
b45197c0d7
omxaudioenc: Release the audio encoder stream lock before acquiring an input buffer
...
Otherwise the srcpad task might block on this lock and
no buffers ever become available again.
2011-11-08 12:47:00 +01:00
Sebastian Dröge
17d0751887
omxaudioenc: Don't try to drain the component after EOS
...
And don't send EOS twice in any case. This most likely
will cause the component to not output it again and
is not necessary anyway.
2011-11-08 11:10:57 +01:00
Sebastian Dröge
093a27fea3
omxaudioenc: Minor code refactoring
2011-11-08 08:31:58 +01:00
Sebastian Dröge
0c0aa78373
omxaudioenc: Only drain the component a single time and only after processing started
2011-11-04 09:44:04 +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
f93a45fb66
omxaudioenc: Forward downstream flow returns to upstream
2011-11-01 15:10:12 +01: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
7dbf68a232
omxaudioenc: Add a check to prevent a zero-sized OMX buffer
2011-09-23 17:04:15 +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
c5360dfae8
omxaudioenc: Always require at least OMX_MIN_PCMPAYLOAD_MSEC per input buffer
2011-08-17 14:33:31 +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
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
c24533c8be
omxaudioenc: Remove hack that only applies to the video encoder class
2011-08-16 11:03:24 +02:00
Sebastian Dröge
3f33a577a9
omxaudioenc: Add initial version of audio encoder base class
2011-08-16 10:48:36 +02:00