Sebastian Dröge
05e4b48855
omxaudioenc: Improve EOS handling
...
If downstream return UNEXPECTED we should still signal the
drain cond because nothing will trigger this again later.
2011-11-10 14:56:19 +01:00
Sebastian Dröge
56bcfc0397
omxvideoenc: Improve EOS handling
...
If downstream return UNEXPECTED we should still signal the
drain cond because nothing will trigger this again later.
2011-11-10 14:56:11 +01:00
Sebastian Dröge
1b7742ca98
omxaudioenc: Improve debugging of EOS and draining
2011-11-10 14:54:33 +01:00
Sebastian Dröge
abd399ecbc
omxvideoenc: Improve debugging of EOS and draining
2011-11-10 14:54:17 +01:00
Sebastian Dröge
b36db47cba
omxvideodec: Log if acquiring buffer for EOS failed
2011-11-10 14:51:06 +01:00
Sebastian Dröge
3412ecf538
omxvideodec: The component is not started in READY
2011-11-10 14:42:13 +01:00
Sebastian Dröge
8c1aee4171
omxaudioenc: No need to signal the drain cond when going from READY to PAUSED
...
Also the component is not started in READY
2011-11-10 14:41:50 +01:00
Sebastian Dröge
de7d237851
omxvideoenc: No need to signal the drain cond when going from READY to PAUSED
...
Also the component is not started in READY.
2011-11-10 14:41:50 +01:00
Sebastian Dröge
6e41e31e6c
omxvideodec: Always flush the ports and make sure no processing is happening in ::reset
...
This fixes a race condition that happened when seeking
very often in a short period of time.
2011-11-09 15:46:39 +01:00
Sebastian Dröge
60a6c1b49f
omxvideodec: Fix minor race condition when draining after upstream signalled EOS
2011-11-09 15:45:20 +01:00
Sebastian Dröge
92c26f684a
omxvideodec: Improve EOS handling
...
If downstream return UNEXPECTED we should still signal the
drain cond because nothing will trigger this again later.
2011-11-09 15:44:11 +01:00
Sebastian Dröge
c026bee8c6
omxvideodec: Improve debugging of EOS and draining
2011-11-09 15:43:32 +01:00
Sebastian Dröge
59faafc30b
omxvideodec: The component is not started already when going from READY to PAUSED
2011-11-09 15:42:46 +01:00
Sebastian Dröge
6c2cca3e94
omxvideodec: No need to signal the drain cond when going from READY to PAUSED
2011-11-09 15:42:13 +01:00
Sebastian Dröge
b66fd610d6
omx: Always reset buffer flags for output ports, even in flushing/error state
2011-11-09 15:41:02 +01:00
Sebastian Dröge
cf22a12156
omxvideodec: Improve debugging in case of QoS-related frame drops
2011-11-09 09:00:57 +01:00
Sebastian Dröge
fb5d700ec9
omxvideoenc: Release the video codec 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
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
3da6d8bfa3
omxvideodec: Release the video codec 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
2d6239678f
omxvideoenc: 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:52 +01:00
Sebastian Dröge
9251e0004c
omxvideodec: 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:08:06 +01:00
Sebastian Dröge
b10c2cfc72
omxvideodec: Implement dropping of too late frames via QoS
2011-11-08 09:09:28 +01:00
Sebastian Dröge
093a27fea3
omxaudioenc: Minor code refactoring
2011-11-08 08:31:58 +01:00
Sebastian Dröge
ae6616ad0d
omxvideoenc: Minor code refactoring
2011-11-08 08:31:43 +01:00
Sebastian Dröge
d4eb77fa2b
omxvideodec: Make sure to always release buffers back to OMX
2011-11-08 08:31:32 +01:00
Sebastian Dröge
1d071c05dc
omx: Also properly release buffers when in error state
2011-11-08 08:24:49 +01:00
Jonas Larsson
0682012181
omx: Properly release buffers during flushing
...
We can't pass them back to OMX_FillThisBuffer() or OMX_EmptyThisBuffer()
but instead of doing nothing we have to put them back into our queue.
Otherwise the buffer is leaked and we will have too few buffers in
the future.
2011-11-08 08:24:49 +01:00
Sebastian Dröge
9151617d39
omxvideodec: Free pending frames after draining component
2011-11-07 14:00:47 +01:00
Sebastian Dröge
0b301021de
omxvideoenc: Free pending frames after draining the component
2011-11-07 14:00:35 +01:00
Sebastian Dröge
636cdd31bf
omxvideoenc: Make handling and usage of the base video codec frames threadsafe
2011-11-07 11:07:01 +01:00
Sebastian Dröge
9a6cea5af3
omxvideoenc: Fix deadlock between srcpad stream lock and ::reset()
2011-11-07 11:05:29 +01:00
Sebastian Dröge
95b06504f9
omxvideoenc: Make handling and usage of the base video codec frames threadsafe
2011-11-07 11:04:27 +01:00
Sebastian Dröge
a80ca97ec3
omxvideoenc: Free all pending frames after draining the component
2011-11-07 10:58:44 +01:00
Sebastian Dröge
be1f75d2f4
omxvideodec: Always free all pending frames when caps changes require reconfiguration
2011-11-07 10:58:24 +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
d5371b9208
omxvideodec: Only drain the component a single time and only after processing started
2011-11-04 09:44:04 +01:00
Sebastian Dröge
3a17d11109
omxvideoenc: Only drain the component a single time and only after processing started
2011-11-04 09:44:04 +01:00
Sebastian Dröge
fa6881c1cc
omx: Reset buffer flags to 0 after it was consumed by the component or the element
...
Some implementations don't reset the flags and the standard is not
really clear on the expected behaviour. Let's just always reset the
flags as they're not valid at this point anymore.
2011-11-04 09:04:16 +01:00
Sebastian Dröge
ef67a43702
omxvideoenc: Better handling of encoder parameters
...
Only set them if necessary and allow to use the component
defaults.
2011-11-02 13:50:14 +01:00
Sebastian Dröge
08fabd6a07
omxvideoenc: Make unsupported bitrate/quantizer settings less fatal
2011-11-02 13:22:50 +01:00
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
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
Sebastian Dröge
c0202cc283
baseaudioencoder: Delay sending of serialized events to finish_frame()
2011-08-15 14:14:11 +02:00
Sebastian Dröge
0a44778d61
audio: Integrate audio base classes into the build system and fixup
2011-08-15 13:06:51 +02:00
Sebastian Dröge
0d07b52760
audio: Add audio decoder/encoder base classes
...
Taken from http://cgit.collabora.com/git/user/manauw/gst-plugins-bad.git/log/?h=baseaudio
2011-08-15 12:56:00 +02:00
Sebastian Dröge
b673e37546
basevideoencoder: Proxy the width/height/framerate/PAR constraints of downstream caps to upstream
...
This allows to specify constraints on the compressed downstream caps
by muxers or capsfilters, which will then be forwarded to upstream
and allows video converters to fulfill the constraints.
Code based on Mark Nauwelaerts audio encoder base class.
2011-08-12 12:30:07 +02:00
Sebastian Dröge
9ea8ecc191
basevideoencoder: Remove old ::getcaps() comment
2011-08-12 12:30:07 +02:00
Sebastian Dröge
f91a4e53db
basevideoencoder: Remove ::get_caps() vfunc
...
Subclasses can set the caps more efficiently and this only
caused additional indirections.
2011-08-12 12:30:07 +02:00
Sebastian Dröge
75c843670f
omxvideoenc: Use "video/x-raw-yuv" as sink template caps instead of strict I420 caps
2011-08-10 10:24:48 +02:00
Sebastian Dröge
274b3b3526
omxmpeg4videodec: Don't require width/height on sink pad caps
2011-08-10 10:23:39 +02:00
Sebastian Dröge
7a09447406
omxvideodec: Use "video/x-raw-yuv" as src template caps instead of strict I420 caps
2011-08-10 10:21:15 +02:00
Sebastian Dröge
8e422b7cc2
omxvideoenc: Set the state back to StateLoaded even if an error happened
2011-08-10 09:56:30 +02:00
Sebastian Dröge
9dcaf5c2bb
omx: Don't hold any locks while calling OMX_SendCommand()
...
It might call into one of the callbacks and lead to deadlocks, e.g.
with the Qualcomm OMX implementation.
2011-08-10 09:49:57 +02:00
Sebastian Dröge
0bb345a16d
omx: Move some code
2011-08-10 09:32:01 +02:00
Sebastian Dröge
e413b8403c
omx: Reset pending reconfigure output ports when changing the state from Executing to any lower state
2011-08-10 09:23:10 +02:00
Sebastian Dröge
25fd0594f5
omx: Fix crash when setting last error after the ports were freed
2011-08-10 09:08:00 +02:00
Sebastian Dröge
9678efdf88
omx: Free component structure
2011-08-10 09:03:52 +02:00
Sebastian Dröge
52a422f637
omx: Make component destruction safer
2011-08-10 09:02:52 +02:00
Sebastian Dröge
8fd4eaae69
omx: Set pAppPrivate of buffers to NULL when deallocating buffers
...
This prevents usage of freed memory later if the OMX component
has weird behaviour.
2011-08-10 08:55:18 +02:00
Sebastian Dröge
2ea5bdf553
omxvideodec: Set the state back to StateLoaded even if an error happened
2011-08-10 08:52:25 +02:00
Sebastian Dröge
cb001aa85f
omx: Add some assertions to check if the buffer pAppPrivate is still correct
2011-08-10 08:51:54 +02:00
Sebastian Dröge
8791be3f95
omx: Add parenthesis at correct places in the struct init macro
2011-08-08 13:04:30 +02:00
Sebastian Dröge
825d435d7d
omx: Only prevent setting a higher state if the component is in an error state
2011-08-08 12:12:58 +02:00
Sebastian Dröge
5319d33ca1
basevideodecoder: Use the cached video frame size instead of recalculating it
2011-08-03 16:02:01 +02:00
Sebastian Dröge
2c4dcf418a
omx: Improve debugging in param/config getter/setter wrappers
2011-08-03 15:35:01 +02:00
Sebastian Dröge
febc2d99cb
omxvideodec: Don't abort if the color format is not supported but give a useful error message
2011-08-03 13:10:33 +02:00
Sebastian Dröge
714ba59b11
omxvideoenc: Don't fail if setting the bitrate or profile is not supported by the component
...
Also always set/get the profile, even if there are no peer caps.
2011-08-02 15:14:37 +02:00
Sebastian Dröge
624c2b4fdb
basevideoencoder: Make access to the list of frames threadsafe
2011-08-02 15:14:24 +02:00
Sebastian Dröge
aced7478ab
omx: Add a hacks flag for the Qualcomm 7x30 OMX_FillThisBuffer() race and make it optional
2011-08-01 13:22:05 +02:00
Sebastian Dröge
cba41896a6
omx: Add workaround for QCOM 7x30 race condition
2011-07-29 13:56:59 +02:00
Sebastian Dröge
b085e11c37
omxh263enc: Add H.263 encoder element
2011-07-29 12:06:21 +02:00
Sebastian Dröge
73cde0af8a
omxmpeg4videoenc: Add support for setting profile/level via caps
2011-07-29 11:26:39 +02:00
Sebastian Dröge
27a0cb4c91
omxh264enc: Add support for setting profile/level via caps
2011-07-28 14:14:45 +02:00
Sebastian Dröge
4329821a0b
omxvideoenc: Add support for forcing the next frame to be a keyframe
2011-07-28 12:58:25 +02:00
Sebastian Dröge
e7b421c131
omxvideoenc: Add support for setting bitrate/quantization related parameters
2011-07-28 12:52:24 +02:00
Sebastian Dröge
f2b456e2e6
omx: Add wrapper functions for OMX_[GS]et{Config,Parameter}
2011-07-28 12:16:43 +02:00
Sebastian Dröge
35850e7233
omx: Add macro to initialize OpenMAX structures
2011-07-28 12:16:43 +02:00
Sebastian Dröge
decf765502
omxvideoenc: Don't output 0-byte buffers
2011-07-28 12:16:38 +02:00
Sebastian Dröge
1fa3b2662e
omx: Ensure that the pAppPrivate pointer in OMX buffers is set correctly
2011-07-25 15:05:08 +02:00
Sebastian Dröge
8ac445abd8
omxvideo{enc,dec}: Only set/unset flushing state on ports if they were created already
2011-07-25 13:19:06 +02:00
Sebastian Dröge
8977906f4b
omxwmvdec: Add WMV video decoder element
2011-07-25 12:01:05 +02:00
Sebastian Dröge
4a110e129c
omxh263dec: Add H.263 decoder element
2011-07-25 11:44:56 +02:00
Sebastian Dröge
e01eb8c35c
omxh264enc: Add H.264 encoder element
2011-07-25 11:32:51 +02:00
Sebastian Dröge
87587dd6d2
omxvideodec: Try harder to deallocate the buffers after errors happened
2011-07-25 10:48:58 +02:00
Sebastian Dröge
ae7ed44e6b
omxvideoenc: Try harder to deallocate the buffers after errors happened
2011-07-25 10:47:28 +02:00
Sebastian Dröge
9e1cfa300b
omx: Deallocate port buffers before freeing the component
...
They should be deallocated by the caller before reaching the
Loaded state but to be on the safe side we will make sure
they're really deallocated here.
2011-07-25 10:46:49 +02:00
Sebastian Dröge
7350dcc8cd
omxvideoenc: Add initial support for stride conversion
2011-07-21 11:15:14 +02:00
Sebastian Dröge
254bee9be9
omx: Set default roles for the components if none were set from the config file
2011-07-21 10:38:26 +02:00
Sebastian Dröge
a86debaf36
omx: Failure to set the component role is fatal
2011-07-21 10:36:19 +02:00
Sebastian Dröge
644fa35789
omxvideoenc: Add support for setting codec_data on the srcpad caps
2011-07-21 07:53:25 +02:00
Sebastian Dröge
182a488f49
omxvideoenc: Free/drop GstVideoFrames that resulted in an empty buffer
2011-07-21 07:44:34 +02:00
Sebastian Dröge
34da745dc5
basevideoencoder: Allow finishing of frames with no src_buffer to drop/free the GstVideoFrame
2011-07-21 07:44:10 +02:00
Sebastian Dröge
c0d304f819
omxvideoenc: Remove obsolete TODO comment
2011-07-21 07:31:05 +02:00
Sebastian Dröge
e8b2ffe6f4
omx: Use libgstopenmax.so for the plugin filename and openmax for the plugin name
...
Resolves conflicts with gst-openmax.
2011-07-20 11:09:54 +02:00
Sebastian Dröge
2343decb3c
omxvideoenc: Add video encoder base class and MPEG4 video encoder
...
Unfortunately requires lots of hacks again to work properly with
Bellagio.
2011-07-20 11:08:18 +02:00
Sebastian Dröge
9619d9c95d
basevideoencoder: Only get caps from the subclass if they were not set yet by the subclass
2011-07-20 11:08:18 +02:00
Sebastian Dröge
fdd049a41c
basevideoencoder: Delay sending of serialized sink events until finish_frame()
2011-07-20 11:08:18 +02:00
Sebastian Dröge
159093cd6a
basevideoencoder: Add ::reset vfunc and handle ::reset/::finish the same way as in the decoder
2011-07-20 11:08:18 +02:00
Sebastian Dröge
92643716e4
basevideoencoder: Use a temporary GstVideoState until the subclass accepted the caps
...
Also store the caps in the GstVideoState and assume a PAR of 1/1 instead
of 0/1 if no PAR is specified in the caps.
2011-07-20 08:19:01 +02:00
Sebastian Dröge
71d176f71a
omx: Improve debug output a bit
2011-07-19 12:29:51 +02:00
Sebastian Dröge
b6558570bf
omx: Rework port reconfiguration again and only use the Bellagio specific hacks with Bellagio
...
We only reconfigure ports that need to be reconfigured now instead of
always all ports.
2011-07-19 10:33:54 +02:00
Sebastian Dröge
4616d804ac
omx: Add infrastructure to enable special hacks for broken OpenMAX implementations
2011-07-19 10:33:15 +02:00