1 === release 1.15.90 ===
3 2019-04-11 00:40:52 +0100 Tim-Philipp Müller <tim@centricular.com>
13 2019-04-10 00:19:55 +0100 Tim-Philipp Müller <tim@centricular.com>
16 meson: add -Wundef as additional warning flag
18 2019-04-10 00:16:27 +0100 Tim-Philipp Müller <tim@centricular.com>
20 * omx/gstomxvideoenc.c:
21 omx: fix autotools build for generic target
22 gstomxvideoenc.c:2874:7: error: "USE_OMX_TARGET_ZYNQ_USCALE_PLUS" is not defined, evaluates to 0 [-Werror=undef]
23 #elif USE_OMX_TARGET_ZYNQ_USCALE_PLUS
24 Works on meson because it doesn't use -Wundef
26 2018-11-12 12:51:28 +0200 Jordan Petridis <jordan@centricular.com>
29 Add Gitlab CI configuration
30 This commit adds a .gitlab-ci.yml file, which uses a feature
31 to fetch the config from a centralized repository. The intent is
32 to have all the gstreamer modules use the same configuration.
33 The configuration is currently hosted at the gst-ci repository
34 under the gitlab/ci_template.yml path.
35 Part of https://gitlab.freedesktop.org/gstreamer/gstreamer-project/issues/29
37 2019-03-25 16:30:11 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.com>
40 omx: disable OMX_API_TRACE code if gst debug is disabled
41 No need to create debug structs which won't be used as DEBUG macros are
44 2018-10-11 10:55:04 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
47 omx: log Get/SetParameter/Config calls
48 Extend OMX_API_TRACE by logging component configuration calls.
50 2019-02-06 14:57:05 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.com>
52 * omx/gstomxbufferpool.c:
53 omxbufferpool: don't use CAT_PERFORMANCE if pool will copy
54 This was the single place where this category was used in gst-omx so
55 most users, including me, are generally not turning it and were missing this
56 important information from logs.
57 The copying code uses gst_video_frame_copy() which is already logging
58 with CAT_PERFORMANCE so we can still have this information when using
59 only this debug category.
61 2019-02-06 14:50:44 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.com>
63 * omx/gstomxvideodec.c:
64 omxvideodec: add debug if proposed pool can't provide enough buffers
65 We were silently ignoring the pool which was pretty confusing when
68 2019-03-26 12:17:26 +0000 Charlie Turner <cturner@igalia.com>
73 * omx/gstomxh263dec.c:
74 * omx/gstomxh263enc.c:
75 * omx/gstomxh264dec.c:
76 * omx/gstomxh264enc.c:
77 * omx/gstomxh265dec.c:
78 * omx/gstomxh265enc.c:
79 * omx/gstomxmjpegdec.c:
82 * omx/gstomxmpeg2videodec.c:
83 * omx/gstomxmpeg4videodec.c:
84 * omx/gstomxmpeg4videoenc.c:
85 * omx/gstomxtheoradec.c:
88 omx: Add hardware classifiers to encoders/decoders
90 2019-03-25 16:01:48 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.com>
93 meson: sync warnings flags with -good
94 Add more warnings flags and disabled unused variable warnings if gst
95 debug system is disabled.
96 Copied from gst-plugins-good/meson.build
98 2019-03-04 09:16:40 +0000 Tim-Philipp Müller <tim@centricular.com>
106 === release 1.15.2 ===
108 2019-02-26 12:02:23 +0000 Tim-Philipp Müller <tim@centricular.com>
118 2019-02-14 23:57:09 +0000 Tim-Philipp Müller <tim@centricular.com>
122 meson: add options to disable examples, tests and tools and bump meson requirement
124 2019-01-04 10:11:38 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.com>
128 * omx/gstomxvideodec.c:
129 * omx/gstomxvideoenc.c:
130 omxvideo: use GST_VIDEO_CAPS_MAKE() for template caps
131 Simplify the code and so we advertise the formats actually supported by
134 2018-06-04 12:20:03 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
136 * omx/gstomxvideoenc.c:
137 omxvideoenc: validate cpb-size and initial-delay
138 cpb-size cannot be smaller than initial-delay.
140 2018-10-02 10:47:06 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
142 * omx/gstomxvideodec.c:
143 omxvideodec: Remove duplicated QoS code
144 The 'finish' function do the exact same check / drop, there is no
145 need to duplicate this here.
147 2018-09-20 14:44:09 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
149 * omx/gstomxvideodec.c:
150 * omx/gstomxvideodec.h:
151 omxvideodec: Remove dead code
152 The omxvideodec base class have a totally unused prepare_frame() vritual
155 2018-07-11 17:38:22 -0700 Varunkumar Allagadapa <varunkum@xilinx.com>
157 * omx/gstomxvideoenc.c:
158 omxvideoenc: add adaptive gop-mode option
159 Added adaptive gop-mode option to ZYNQ_USCALE_PLUS encoder properties
161 2018-02-13 18:25:51 +0000 Nicolas Dufresne <nicolas.dufresne@collabora.com>
163 * omx/gstomxvideoenc.c:
164 omxvideoenc: Add dynamic framerate support
165 Instead of going through a full reset, try and change the framerate
166 config on the encoder when only the framerate have change.
168 === release 1.15.1 ===
170 2019-01-17 02:38:28 +0000 Tim-Philipp Müller <tim@centricular.com>
180 2018-02-20 10:57:42 -0800 Varunkumar Allagadapa <varunkum@xilinx.com>
182 * omx/gstomxvideoenc.c:
183 omxvideoenc: Add dynamic IDR insertion support on zynq
184 As the pi, the zynq has its own API to request keyframe.
186 2019-01-07 13:29:37 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.com>
190 * omx/gstomxbufferpool.c:
191 omxbufferpool: fix race when releasing input buffers
192 If buffers were released from the pool while
193 gst_omx_video_enc_handle_frame() was waiting for new buffers,
194 gst_omx_port_acquire_buffer() was never awaken as the buffers weren't
195 released through OMX's messaging system.
196 GQueue isn't thread safe so also protect it with the lock mutex.
198 2018-11-15 11:17:59 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
200 * omx/gstomxbufferpool.c:
201 * omx/gstomxbufferpool.h:
202 * omx/gstomxvideodec.c:
203 * omx/gstomxvideoenc.c:
204 omxbufferpool: fix early input buffer release
205 We used to track the 'allocating' status on the pool. It is used while
206 allocating so output buffers aren't passed right away to OMX and input
207 ones are not re-added to the pending queue.
208 This was causing a bug when exporting buffers to v4l2src. On start
209 v4l2src acquires a buffer, read its stride and release it right away.
210 As no buffer was received by the encoder element at this point, 'allocating'
211 was still on TRUE and so the the buffer wasn't put back to the pending
212 queue and, as result, no longer available to the pool.
213 Fix this by checking the active status of the pool instead of manually
214 tracking it down. The pool is considered as active at the very end of
215 the activation process so we're good when buffers are released during
218 2018-12-05 17:24:48 -0300 Thibault Saunier <tsaunier@igalia.com>
221 Automatic update of common submodule
222 From ed78bee to 59cb678
224 2018-11-23 12:57:15 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.com>
227 omx: fix OMX_EventBufferFlag OMX_API_TRACE struct
228 The GType was missing from the second field of the struct.
230 2018-11-05 05:43:43 +0000 Matthew Waters <matthew@centricular.com>
234 Update git locations to gitlab
236 2018-09-18 16:50:11 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
239 omx: rename OMX_PERFORMANCE debug cat to OMX_API_TRACE
240 This debug category can now be used to track more OMX calls and events
241 so best to rename it to something more generic.
242 https://bugzilla.gnome.org/show_bug.cgi?id=797171
244 2018-08-21 17:35:04 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
247 omx: log OMX commands with OMX_PERFORMANCE debug category
248 It has been useful to have a clear raw and structured view of the gst
249 <-> OMX exchanges when debugging.
250 https://bugzilla.gnome.org/show_bug.cgi?id=797171
252 2018-08-21 16:50:38 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
255 omx: factor out gst_omx_component_send_command()
256 No semantic change. I'm going to add extra debug in this function.
257 https://bugzilla.gnome.org/show_bug.cgi?id=797171
259 2018-08-21 15:14:09 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
262 omx: log OMX events with OMX_PERFORMANCE debug category
263 It has been useful to have a clear raw and structured view of the gst
264 <-> OMX exchanges when debugging.
265 https://bugzilla.gnome.org/show_bug.cgi?id=797171
267 2018-08-22 12:51:30 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
270 omx: rename log_omx_performance() to log_omx_performance_buffer()
271 I'm about to log more things under this category
272 https://bugzilla.gnome.org/show_bug.cgi?id=797171
274 2018-09-07 22:57:30 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
276 * omx/gstomxvideoenc.c:
277 omxvideoenc: Remove spurious locking
278 The method we call in the context of pushing a buffer are all thread
279 safe. Holding a lock would prevent input buffers from being queued while
281 https://bugzilla.gnome.org/show_bug.cgi?id=715192
283 2018-09-07 23:09:29 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
285 * omx/gstomxvideoenc.c:
286 omxvideoenc: Remove unneeded size check
287 We only enter this branch if nFilledLen > 0, there is not need
289 https://bugzilla.gnome.org/show_bug.cgi?id=715192
291 2018-09-07 22:55:41 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
293 * omx/gstomxvideodec.c:
294 omxvideodec: Remove spurious unlock in error case
295 This was forgotton in previous patch. We no long hold the lock when goto
296 invalid_buffer is called.
297 https://bugzilla.gnome.org/show_bug.cgi?id=715192
299 2018-08-31 17:28:03 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
301 * omx/gstomxvideodec.c:
302 omxvideodec: don't hold the stream lock when trying to push a frame
303 The base class methods will lock this properly when needed, there seems
304 to be no need to lock it explicitly.
305 This allows the patch in gstvideodec for unlocking the stream lock
306 when pushing buffers out to work.
307 https://bugzilla.gnome.org/show_bug.cgi?id=715192
309 2018-07-31 13:22:31 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
311 * omx/gstomxvideodec.c:
312 omxvideodec: don't import OMX buffers from downstream
313 We already have code configuring the encoder stride and slice height
314 when receiving the first buffer from upstream.
315 We don't have an equivalent when the encoder is exporting its buffers to the
317 There is no point adding it and making the code even more
318 complex as we wouldn't gain anything by exporting from the encoder to
319 the decoder. The dynamic buffer mode already ensures 0-copy between OMX
321 https://bugzilla.gnome.org/show_bug.cgi?id=796918
323 2018-05-15 11:59:26 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
327 * omx/gstomxbufferpool.c:
328 * omx/gstomxvideoenc.c:
329 * omx/gstomxvideoenc.h:
330 omxvideoenc: implement dmabuf export on input buffers
331 Propose pool upstream so input buffers can be allocated by the port and
333 The actual OMX buffers are allocated when the pool is activated, so we
334 don't end up doing useless allocations if the pool isn't used.
335 https://bugzilla.gnome.org/show_bug.cgi?id=796918
337 2018-08-13 15:10:37 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
341 * omx/gstomxaudiodec.c:
342 * omx/gstomxaudioenc.c:
343 * omx/gstomxaudiosink.c:
344 * omx/gstomxvideodec.c:
345 * omx/gstomxvideoenc.c:
346 omx: allow gst_omx_port_acquire_buffer() to not wait for buffers
347 Will be needed to implement GST_BUFFER_POOL_ACQUIRE_FLAG_DONTWAIT.
348 https://bugzilla.gnome.org/show_bug.cgi?id=796918
350 2018-07-31 15:04:33 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
352 * omx/gstomxvideodec.c:
353 omxvideodec: don't import non-dmabuf when dec is in dmabuf mode
354 Fix 'omxh264dec ! videocrop' pipeline.
355 https://bugzilla.gnome.org/show_bug.cgi?id=796918
357 2018-08-02 11:29:12 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
359 * omx/gstomxvideodec.c:
360 omxvideodec: factor out gst_omx_try_importing_buffer()
361 No semantic change, just make the code clearer and improve debug output.
362 https://bugzilla.gnome.org/show_bug.cgi?id=796918
364 2018-07-26 16:30:08 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
366 * omx/gstomxvideodec.c:
367 omxvideodec: fix gst_video_info_from_caps() caps assertion
368 The "use buffers" code path uses gst_video_info_from_caps() which is
369 asserting if caps is NULL (because pool was rejected).
370 https://bugzilla.gnome.org/show_bug.cgi?id=796918
372 2018-07-26 16:22:50 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
374 * omx/gstomxvideodec.c:
375 omxvideodec: fix pool caps reference stealing
376 gst_buffer_pool_config_get_params() doesn't ref the returning caps;
377 so gst_caps_replace() was unreffing the reference owned by the pool.
378 https://bugzilla.gnome.org/show_bug.cgi?id=796918
380 2018-07-25 09:57:20 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
382 * omx/gstomxvideodec.c:
383 omxvideodec: prevent timeout when shutting down because of pending out buffers
384 The OMX transition state to Loaded won't be complete until all buffers
385 have been freed. There is no point waiting, and timeout, if we know that
386 output buffers haven't been freed yet.
387 The typical scenario is output buffers being still used downstream
388 and being freed later when released back to the pool.
389 https://bugzilla.gnome.org/show_bug.cgi?id=796918
391 2018-07-24 15:14:31 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
393 * omx/gstomxbufferpool.c:
394 omxbufferpool: reference the OMX component
395 Now that the pool is responsible of freeing the OMX buffers, we need to
396 ensure that the OMX component stay alive while the pool is as we rely on
397 the component to free the buffers.
398 The GstOMXPort is owned by the component so no need to ref this one.
399 https://bugzilla.gnome.org/show_bug.cgi?id=796918
401 2018-07-24 15:06:01 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
405 * omx/gstomxaudiodec.c:
406 * omx/gstomxaudioenc.c:
407 * omx/gstomxaudiosink.c:
408 * omx/gstomxvideodec.c:
409 * omx/gstomxvideoenc.c:
410 turn GstOMXComponent to a GstMiniObject
411 Will use it for refcounting.
412 https://bugzilla.gnome.org/show_bug.cgi?id=796918
414 2018-05-28 12:20:45 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
416 * omx/gstomxbufferpool.c:
417 * omx/gstomxvideodec.c:
418 omxbufferpool: deallocate OMX buffers when stopping
419 The pool is stopped when all the buffers have been released. Deallocate
420 when stopping so we are sure that the buffers aren't still used by
422 https://bugzilla.gnome.org/show_bug.cgi?id=796918
424 2018-05-24 16:28:21 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
427 omx: call gst_omx_buffer_unmap() when handling BUFFER_DONE
428 When using a input buffer pool, the buffer may be released to the pool when
429 gst_omx_buffer_unmap() is called. We need to have buf->used unset at
430 this point as the pool may use it to check the status of the pool.
431 {Empty,Fill}BufferDone is called from OMX internal threads while
432 messages are handled from gst elements' thread. Best to do all this
433 when handling the message so we don't mess with OMX threads and keep
434 the original thread/logic split.
435 https://bugzilla.gnome.org/show_bug.cgi?id=796918
437 2018-05-25 14:44:16 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
439 * omx/gstomxvideodec.c:
440 * omx/gstomxvideoenc.c:
441 omxvideo{enc,dec}: stop calling shutdown() in change_state
442 This is no longer needed since we implemented close() vfuncs as the
443 encoder/decoder base class already take care of calling close() (which
444 is calling shutdown()) in its own change_state implementation.
445 We also move the shut down of the component from PAUSED_TO_READY to READY_TO_NULL.
446 By doing so upstream will have already deactivated the pool from the
447 encoder and so won't be preventing the OMX state change as the buffers
448 will all be released.
449 https://bugzilla.gnome.org/show_bug.cgi?id=796918
451 2018-05-15 16:21:26 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
455 * omx/gstomxbufferpool.c:
456 omx: factor out gst_omx_buffer_get/set_omx_buf()
457 Move the qdata code to helper functions as I'm going to need them in
458 omxvideoenc to implement dmabuf export.
459 https://bugzilla.gnome.org/show_bug.cgi?id=796918
461 2018-05-15 11:01:13 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
463 * omx/gstomxvideoenc.c:
464 omxvideoenc: factor out gst_omx_video_enc_set_to_idle()
465 No semantic change. We'll have to use this when the input pool is
466 activated so we can allocate buffers.
467 https://bugzilla.gnome.org/show_bug.cgi?id=796918
469 2018-05-15 09:56:10 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
471 * omx/gstomxvideoenc.c:
472 omxvideoenc: factor out gst_omx_video_enc_deallocate_in_buffers()
473 Will add extra code when adding input buffer pool.
474 https://bugzilla.gnome.org/show_bug.cgi?id=796918
476 2018-05-14 15:16:38 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
479 omx: add pBuffer to OMX_PERFORMANCE logs
480 Can be useful to check the fd being passed when using dmabuf.
481 https://bugzilla.gnome.org/show_bug.cgi?id=796918
483 2018-03-21 12:43:33 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
487 * omx/gstomxvideodec.c:
488 * omx/gstomxvideoenc.c:
489 omx: factor out gst_omx_port_set_dmabuf()
490 No semantic change. I also made the debug message a bit clearer.
491 https://bugzilla.gnome.org/show_bug.cgi?id=796918
493 2018-08-22 15:56:18 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
496 omx: wait for flush complete and buffers being released when flushing
497 When flusing we should wait for OMX to send the flush command complete event
498 AND all ports being released.
499 We were stopping as soon as one of those condition was met.
500 Fix a race between FillThisBufferDone/EmptyBufferDone and the flush
501 EventCmdComplete messages. The OMX implementation is supposed to release
502 its buffers before posting the EventCmdComplete event but the ordering
503 isn't guaranteed as the FillThisBufferDone/EmptyBufferDone and
504 EventHandler callbacks can be called from different threads (cf 2.7
505 'Thread Safety' in the spec).
506 Only wait for buffers currently used by OMX as some buffers may not be
507 in the pending queue because they are held downstream.
508 https://bugzilla.gnome.org/show_bug.cgi?id=789475
510 2018-08-22 15:52:23 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
513 omx: factor out should_wait_until_flushed()
514 No semantic change. Makes the code easier to understand and I'm about to
515 change the waiting condition.
516 https://bugzilla.gnome.org/show_bug.cgi?id=789475
518 2018-08-28 13:10:35 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
520 * omx/gstomxvideoenc.c:
521 omxvideoenc: pause component when flushing
522 As stated in the spec ("6.1.3 Seek Event Sequence") we should pause
524 We were pausing the decoder but not the encoder so I just aligned the
526 https://bugzilla.gnome.org/show_bug.cgi?id=797038
528 2018-07-12 12:41:18 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
530 * omx/gstomxvideoenc.c:
531 omxvideoenc: fix vertical padding in NV16 formats
532 My previous patch to calculate the vertical padding was always halfing
533 the height of the chroma plane which is incorrect for NV16 formats.
534 https://bugzilla.gnome.org/show_bug.cgi?id=796749
536 2018-07-05 15:13:47 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
538 * omx/gstomxvideoenc.c:
539 omxvideoenc: include vertical padding in nFilledLen when copying
540 According to the OMX spec (3.1.3.7.1) nFilledLen is meant to include any
541 padding. We use to include the horizontal one (stride) but not the
542 vertical one if nSliceHeight is bigger than the actual height.
543 The calculated nFilledLen was wrong as it didn't include the padding
545 https://bugzilla.gnome.org/show_bug.cgi?id=796749
547 2018-04-26 12:30:47 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
551 * omx/gstomxvideodec.c:
552 * omx/gstomxvideoenc.c:
553 * omx/gstomxvideoenc.h:
554 omxvideoenc: implement decide_allocation
555 Increase the number of output buffers by the number of buffers requested
557 Prevent buffers starvation if downstream is going to use dynamic buffer
559 https://bugzilla.gnome.org/show_bug.cgi?id=795746
561 2018-04-26 12:29:16 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
563 * omx/gstomxvideodec.c:
564 omxvideodec: implement propose_allocation
565 Tell upstream about how many buffer we plan to use so they can adjust
566 their own number of buffers accordingly if needed.
567 Same logic as the existing gst_omx_video_enc_propose_allocation().
568 https://bugzilla.gnome.org/show_bug.cgi?id=795746
570 2018-05-17 09:54:11 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
572 * omx/gstomxvideoenc.c:
573 * omx/gstomxvideoenc.h:
574 omxvideoenc: always signal drain cond when stopping streaming loop
575 Similar change as the one I just did in omxvideodec.
576 https://bugzilla.gnome.org/show_bug.cgi?id=796207
578 2018-05-16 17:06:29 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
580 * omx/gstomxvideodec.c:
581 * omx/gstomxvideodec.h:
582 omxvideodec: always signal drain cond when stopping streaming loop
583 If for some reason something goes wrong and we stop the streaming loop
584 we may end up with other threads still waiting on the drain cond.
585 No more buffers will be produced by the component so they were waiting
587 Fix this by always signalling this cond when stopping the streaming
589 https://bugzilla.gnome.org/show_bug.cgi?id=796207
591 2018-05-16 17:02:01 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
593 * omx/gstomxvideodec.c:
594 omxvideoenc: factor out gst_omx_video_enc_pause_loop()
595 No semantic change. I'm going to use it in more failure cases.
596 https://bugzilla.gnome.org/show_bug.cgi?id=796207
598 2018-05-17 14:24:52 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
600 * config/zynqultrascaleplus/gstomx.conf:
601 zynqultrascaleplus: enable 'ensure-buffer-count-actual' hack
602 https://bugzilla.gnome.org/show_bug.cgi?id=791211
604 2018-04-27 16:26:36 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
608 * omx/gstomxvideodec.c:
609 * omx/gstomxvideoenc.c:
610 omxvideodec/enc: add hack updating nBufferCountActual before allocating
611 The OMX specs states that the nBufferCountActual of a port has to default
612 to its nBufferCountMin. If we don't change nBufferCountActual we purely rely
613 on this default. But in some cases, OMX may change nBufferCountMin before we
614 allocate buffers. Like for example when configuring the input ports with the
615 actual format, it may decrease the number of minimal buffers required.
616 This method checks this and update nBufferCountActual if needed so we'll use
617 less buffers than the worst case in such scenarios.
618 SetParameter() needs to be called when the port is either disabled or
619 the component in the Loaded state.
620 Don't do this for the decoder output as
621 gst_omx_video_dec_allocate_output_buffers() already check
622 nBufferCountMin when computing the number of output buffers.
623 On some platform, like rpi, the default nBufferCountActual is much
624 higher than nBufferCountMin so only enable this using a specific gst-omx
626 https://bugzilla.gnome.org/show_bug.cgi?id=791211
628 2018-05-28 15:02:13 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
630 * omx/gstomxvideodec.c:
631 * omx/gstomxvideoenc.c:
632 omxvidee{enc,dec}: refresh input port definition after setting format
633 Setting the input format and the associated encoder/decoder settings
634 may also affect the nBufferCountMin of the input port.
635 Refresh the input port so we'll use up to date values in propose/decide
637 https://bugzilla.gnome.org/show_bug.cgi?id=796445
639 2018-05-07 11:59:08 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
642 omx: always consider component in 'invalid' state when an error occured
643 gst_omx_component_get_state() used to early return if there was no
644 pending state change. So if the component raised an error it wasn't
645 considered in the invalid state until the next requested state change.
646 Fix this by checking first if we received an error.
647 https://bugzilla.gnome.org/show_bug.cgi?id=795874
649 2018-05-25 01:35:58 +1000 Matthew Waters <matthew@centricular.com>
653 meson: Update option names to omit 'with_omx' prefixes
655 https://cgit.freedesktop.org/gstreamer/gstreamer/commit/?id=4fb02fc85b70be631f5331b2547e5dc61ef7a43a
656 https://cgit.freedesktop.org/gstreamer/gst-plugins-base/commit/?id=1e1a5d658e4a031535c44823fd398d3052ca2000
659 2018-03-21 13:52:23 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
661 * omx/gstomxvideodec.c:
662 omxvideodec: pass a GstOMXBufferMode to gst_omx_buffer_pool_new()
663 The output_mode is supposed to be a GstOMXBufferMode, not a boolean.
665 2018-05-03 09:27:15 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
667 * config/zynqultrascaleplus/gstomx.conf:
668 zynq: remove 'no-disable-outport' hack
669 No longer needed with newer version of the OMX stack.
671 2018-03-13 16:15:30 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
673 * omx/gstomxh264enc.c:
674 * omx/gstomxh265enc.c:
675 omxh26{4,5}enc: don't pick default 10-bit profile
676 The OMX stack of the zynqultrascaleplus (the only one supporting
677 NV12_10LE32 and NV16_10LE32) will now pick the proper profile if none
678 has been requested. Best to rely on its default than hardcoding a
679 specific one in gst-omx.
680 https://bugzilla.gnome.org/show_bug.cgi?id=794319
682 2018-03-06 14:16:56 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
684 * omx/gstomxh264utils.c:
685 omxh264: sync with supported profiles on zynqultrascaleplus
686 Add extra supported AVC profiles and remove extended and 4:4:4 profiles
687 which are actually not implemented.
688 https://bugzilla.gnome.org/show_bug.cgi?id=794177
690 2018-03-06 10:45:14 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
692 * omx/gstomxh264enc.c:
693 * omx/gstomxh264utils.c:
694 * omx/gstomxh264utils.h:
695 omxh264: factor out gst_omx_h264_utils_get_profile_from_enum()
696 Move the profile <-> enum mapping to one place. Make changes easier as
697 I'm about to add extra profiles.
699 https://bugzilla.gnome.org/show_bug.cgi?id=794177
701 2018-03-06 11:02:44 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
703 * omx/gstomxh265utils.c:
704 omxh265: add format range extension profiles on zynqultrascaleplus
705 The zynqultrascaleplus OMX gained support for more format range
706 extensions profiles (A.3.5).
707 https://bugzilla.gnome.org/show_bug.cgi?id=794177
709 2018-03-06 10:45:14 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
711 * omx/gstomxh265enc.c:
712 * omx/gstomxh265utils.c:
713 * omx/gstomxh265utils.h:
714 omxh265: factor out gst_omx_h265_utils_get_profile_from_enum()
715 Move the profile <-> enum mapping to one place. Make changes easier as
716 I'm about to add some profiles.
718 https://bugzilla.gnome.org/show_bug.cgi?id=794177
720 2018-03-08 12:22:26 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
722 * omx/gstomxvideoenc.c:
723 omxvideoenc: add NV16 support
724 NV16 format wasn't supported on encoder input while it was on decoder
726 https://bugzilla.gnome.org/show_bug.cgi?id=794175
728 2018-03-08 12:09:38 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
731 omxvideo: display port number when listing supported formats
732 More convenient when debugging.
733 https://bugzilla.gnome.org/show_bug.cgi?id=794175
735 2018-03-29 16:42:40 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
738 * omx/gstomxvideoenc.c:
739 * omx/gstomxvideoenc.h:
740 omxvideoenc: restore OMX default target-bitrate if requested by user
741 0xffffffff is the magic number in gst-omx meaning 'the default value
742 defined in OMX'. This works fine with OMX parameters which are only set
743 once when starting the component but not with configs which can be
744 changed while PLAYING.
745 Save the actual OMX default bitrate so we can restore it later if user
746 sets back 0xffffffff on the property.
747 Added GST_OMX_PROP_OMX_DEFAULT so we stop hardcoding magic numbers
749 https://bugzilla.gnome.org/show_bug.cgi?id=794998
751 2018-03-29 11:36:00 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
753 * omx/gstomxvideoenc.c:
754 omxvideoenc: use gst_omx_video_enc_set_bitrate() when setting bitrate in set_format
755 We weren't using the usual pattern when re-setting the bitrate:
756 - get parameters from OMX
757 - update only the fields different from 0xffffffff (OMX defaults)
759 Also added a comment explaining why we re-set this param.
760 https://bugzilla.gnome.org/show_bug.cgi?id=794998
762 2018-03-29 11:26:04 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
764 * omx/gstomxvideoenc.c:
765 omxvideoenc: factor out gst_omx_video_enc_set_bitrate()
766 No semantic change, I'm about to re-use this function in set_format().
767 https://bugzilla.gnome.org/show_bug.cgi?id=794998
769 2018-04-20 11:54:14 +0100 Tim-Philipp Müller <tim@centricular.com>
772 meson: fix miscellaneous meson warnings
773 cc.has_header*() doesn't have a 'required:' kwarg.
775 2018-04-18 12:42:55 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
777 * omx/gstomxvideodec.c:
778 * omx/gstomxvideoenc.c:
779 omxvideoenc/dec: fix handling of component enabling failing
780 - Report the error from OMX if any (OMX_EventError)
781 - If not report the failing to the application (GST_ELEMENT_ERROR)
782 - return GST_FLOW_ERROR rather than FALSE
784 https://bugzilla.gnome.org/show_bug.cgi?id=795352
786 2018-04-16 10:53:41 +0100 Tim-Philipp Müller <tim@centricular.com>
789 Automatic update of common submodule
790 From 3fa2c9e to ed78bee
792 2018-03-14 14:53:50 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
795 log_omx_performance: convert pointers to strings
796 G_TYPE_POINTER are not serialized in logs.
797 https://bugzilla.gnome.org/show_bug.cgi?id=794331
799 2018-04-02 15:14:51 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
801 * omx/gstomxvideoenc.c:
802 omxvideoenc: remove duplicated debug message
803 We already have the exact same message at the beginning of
804 gst_omx_video_enc_handle_frame(). Having it twice is confusing when
805 reading/grepping logs.
806 I kept the earlier one to keep the symetry with
807 gst_omx_video_dec_handle_frame().
808 https://bugzilla.gnome.org/show_bug.cgi?id=794897
810 2018-02-22 11:27:03 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
812 * omx/gstomxvideoenc.c:
813 omxvideoenc: add 'roi' qp-mode on zynqultrascaleplus
814 New QP mode used to handle ROI metadata.
815 https://bugzilla.gnome.org/show_bug.cgi?id=793696
817 2018-03-20 10:31:10 +0000 Tim-Philipp Müller <tim@centricular.com>
825 === release 1.14.0 ===
827 2018-03-19 20:31:02 +0000 Tim-Philipp Müller <tim@centricular.com>
837 === release 1.13.91 ===
839 2018-03-13 19:32:39 +0000 Tim-Philipp Müller <tim@centricular.com>
849 2018-03-09 12:02:29 +0000 Tim-Philipp Müller <tim@centricular.com>
852 meson: fix typo in package name define
854 2018-02-27 15:42:53 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
856 * omx/gstomxh265enc.c:
857 * omx/gstomxh265utils.c:
858 omxh265: update 422 profile names
859 h265parse is gaining support for the format range extension profile
861 Use the profile names defined in h265parse.
862 https://bugzilla.gnome.org/show_bug.cgi?id=793928
864 2018-03-05 13:49:18 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
866 * omx/gstomxvideoenc.c:
867 omxvideoenc: Don't drop the frame on empty payload
868 This otherwise may lead to "No reference frame found" warning.
870 2018-03-01 15:16:55 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
872 * omx/gstomxvideodec.c:
873 omxvideodec: Don't drop the frame on empty payload
874 This otherwise may lead to "No reference frame found" warning.
876 2018-03-02 15:36:06 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
879 omx: Free empty buffers list in use_dynamic_buffers
880 To indicate we are doing dynamic buffers importation, we pass
881 a list of NULL pointers, but we forgot to free that list.
883 2018-03-01 15:16:32 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
885 * omx/gstomxvideodec.c:
886 omxvideodec: Fix CodecState leak
888 === release 1.13.90 ===
890 2018-03-03 23:00:59 +0000 Tim-Philipp Müller <tim@centricular.com>
900 2018-03-03 20:21:06 +0000 Tim-Philipp Müller <tim@centricular.com>
902 * config/Makefile.am:
903 config: dist tizonia config files
905 2018-03-02 11:06:08 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
908 Revert "omx: wait for flush complete and buffers being released when flushing"
909 This reverts commit 4211e4c29a262f110cb92ddf9c06b403ced233ef.
911 2018-02-21 12:50:42 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
913 * omx/gstomxvideoenc.c:
914 videoenc: don't set stride padding to 0 when copying frames
915 Padding can be left undefined there is no point filling it with 0.
916 https://bugzilla.gnome.org/show_bug.cgi?id=793694
918 2018-02-16 11:50:35 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
920 * omx/gstomxbufferpool.c:
921 * omx/gstomxh264enc.c:
922 * omx/gstomxh265enc.c:
924 * omx/gstomxvideodec.c:
925 * omx/gstomxvideoenc.c:
926 add support for NV12_10LE32 and NV16_10LE32 on zynqultrascaleplus
927 The encoder and decoder on zynqultrascaleplus support these new 10 bits
929 https://bugzilla.gnome.org/show_bug.cgi?id=793694
931 2018-02-16 11:46:47 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
933 * omx/gstomxvideoenc.c:
934 omxvideoenc: factor out gst_omx_video_enc_nv12_manual_copy()
935 No semantic change, I'm going to re-use it to copy the NV12_10LE32
937 https://bugzilla.gnome.org/show_bug.cgi?id=793694
939 2018-01-17 10:40:49 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
941 * omx/gstomxvideoenc.c:
942 omxvideoenc: display the computed buffer size when configuring input
943 https://bugzilla.gnome.org/show_bug.cgi?id=793694
945 2018-02-06 14:25:57 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
947 * omx/gstomxvideoenc.c:
948 * omx/gstomxvideoenc.h:
949 videoenc: implement ROI on zynqultrascaleplus
950 Check input buffers for ROI meta and pass them to the encoder by using
951 zynqultrascaleplus's custom OMX extension. Also add a new
952 "default-roi-quality" in order to tell the encoder what quality level
953 should be applied to ROI by default.
954 https://bugzilla.gnome.org/show_bug.cgi?id=793696
956 2018-02-14 17:23:39 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
958 * omx/gstomxvideoenc.c:
959 omxvideoenc: remove GST_PARAM_MUTABLE_PLAYING from 'max-bitrate' property
960 This property isn't actually mutable in the PLAYING state.
961 https://bugzilla.gnome.org/show_bug.cgi?id=793458
963 2018-02-14 17:20:02 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
965 * omx/gstomxvideoenc.c:
966 * omx/gstomxvideoenc.h:
967 omxvideoenc: protect target_bitrate with the object lock
968 The 'target-bitrate' property can be changed while PLAYING
969 (GST_PARAM_MUTABLE_PLAYING). Make it thread-safe to prevent concurrent
970 accesses between the application and streaming thread.
971 https://bugzilla.gnome.org/show_bug.cgi?id=793458
973 2018-02-20 11:46:49 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
975 * omx/gstomxbufferpool.c:
976 omxbufferpool: add PERFORMANCE DEBUG message when copying output frames
977 I spent quiet some time figuring out why performance of my pipeline were
978 terrible. Turned out it was because of output frames being copied
979 because of stride/offset mismatch.
980 Add a PERFORMANCE DEBUG message to make it easier to spot and debug from logs.
981 https://bugzilla.gnome.org/show_bug.cgi?id=793637
983 2018-02-15 19:44:37 +0000 Tim-Philipp Müller <tim@centricular.com>
989 === release 1.13.1 ===
991 2018-02-15 17:50:14 +0000 Tim-Philipp Müller <tim@centricular.com>
1000 2017-06-30 15:15:06 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1002 * omx/gstomxh265enc.c:
1003 omxh265enc: fix typo in "periodicty-idr" property name
1004 Also fix the 'nick' of the property.
1005 omxh265enc is based on the code from omxh264enc and suffers the same
1006 typo as we fixed in https://bugzilla.gnome.org/show_bug.cgi?id=784370
1007 This element isn't part of a stable release yet so it's not an API
1009 https://bugzilla.gnome.org/show_bug.cgi?id=793390
1011 2018-02-08 19:18:59 +0000 Tim-Philipp Müller <tim@centricular.com>
1014 meson: make version numbers ints and fix int/string comparison
1015 WARNING: Trying to compare values of different types (str, int).
1016 The result of this is undefined and will become a hard error
1017 in a future Meson release.
1018 Also remove unused libversion/soversion.
1020 2017-12-12 16:50:00 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1025 include all OMX extension headers if present
1026 The OMX specs defines 8 headers that implementations can use to define
1027 their custom extensions. We were checking and including 3 and ignoring
1029 https://bugzilla.gnome.org/show_bug.cgi?id=792043
1031 2018-01-30 10:31:03 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1035 * tools/meson.build:
1036 meson: simplify OMX extensions detection
1037 We are now always checking which files are present or not, even when using our
1038 internal copy of OMX, rather than hardcoding the ones present in it.
1039 https://bugzilla.gnome.org/show_bug.cgi?id=792043
1041 2018-01-30 11:54:24 +0000 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1045 * tools/meson.build:
1046 Revert "meson: use include_directories() with external OMX headers path"
1047 This reverts commit 9d37a92a615e54e8ee12f8c65bcfe386ec9de2d0.
1049 2017-11-27 14:52:10 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1051 * omx/gstomxh265enc.c:
1052 * omx/gstomxh265enc.h:
1053 omxh265enc: add some encoding properties
1054 constrained-intra-prediction and loop-filter-mode.
1055 Those map standard OMX settings.
1056 https://bugzilla.gnome.org/show_bug.cgi?id=792528
1058 2017-11-23 15:54:15 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1060 * omx/gstomxh264enc.c:
1061 * omx/gstomxh264enc.h:
1062 omxh264enc: add some encoding properties
1063 entropy-mode, constrained-intra-prediction and loop-filter-mode.
1064 Those map standard OMX settings.
1065 https://bugzilla.gnome.org/show_bug.cgi?id=792528
1067 2017-06-08 12:31:21 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1069 * omx/gstomxvideoenc.c:
1070 * omx/gstomxvideoenc.h:
1071 omxvideoenc: add zynqultrascaleplus specific properties
1072 https://bugzilla.gnome.org/show_bug.cgi?id=792528
1074 2017-10-31 12:24:39 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1076 * omx/gstomxvideoenc.c:
1077 omxvideoenc: document unit of target-bitrate property
1078 nTargetBitrate and nEncodeBitrate are defined in bits per second in the
1080 https://bugzilla.gnome.org/show_bug.cgi?id=792528
1082 2017-07-06 10:18:48 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1084 * omx/gstomxvideodec.c:
1085 * omx/gstomxvideodec.h:
1086 omxvideodec: add internal-entropy-buffers property on zynqultrascaleplus
1087 Custom property to control the number of internal buffers used in the
1088 decoder to smooth out entropy decoding performance.
1089 https://bugzilla.gnome.org/show_bug.cgi?id=792528
1091 2018-01-30 10:31:03 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1095 * tools/meson.build:
1096 meson: use include_directories() with external OMX headers path
1097 It seems cleaner to use the proper meson tools to include this path
1098 rather than manually tweak the build flags.
1099 This also allows us to simplify the OMX extensions detection code. We
1100 are now always checking which files are present, even when using our
1101 internal copy of OMX, rather than hardcoding the ones present in it.
1102 https://bugzilla.gnome.org/show_bug.cgi?id=792043
1104 2017-11-07 15:09:35 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1106 * omx/gstomxvideoenc.c:
1107 omxvideoenc: expose chroma format and bit depth in output caps
1108 As we added in the parser (bgo#792039) expose the chroma and bit
1109 depth information in output caps.
1110 https://bugzilla.gnome.org/show_bug.cgi?id=792040
1112 2017-11-07 14:30:45 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1114 * omx/gstomxvideoenc.c:
1115 omxvideoenc: factor out get_output_caps()
1116 No semantic change so far.
1117 https://bugzilla.gnome.org/show_bug.cgi?id=792040
1119 2017-12-29 11:59:36 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1121 * config/zynqultrascaleplus/gstomx.conf:
1124 * omx/gstomxvideodec.c:
1125 omxvideodec: add hack to pass color format from caps to OMX decoder
1126 This hack tries to pass as much information as possible from caps to the
1127 decoder before it receives any buffer. These information can be used by
1128 the OMX decoder to, for example, pre-allocate its internal buffers
1129 before starting to decode and so reduce its initial latency.
1130 This mechanism is currently supported by the zynqultrascaleplus decoder.
1131 https://bugzilla.gnome.org/show_bug.cgi?id=792040
1133 2017-12-01 12:43:19 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1136 log failing OMX calls as errors
1137 I find it confusing when debugging that OMX calls returning an error
1138 where not logged as GST_LEVEL_ERROR making them harder to spot.
1139 Fix this by introducing simple log macros checking the return value of
1140 the OMX call and logging failures as errors.
1141 https://bugzilla.gnome.org/show_bug.cgi?id=791069
1143 2017-10-30 11:59:19 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1146 add OMX_PERFORMANCE debug category
1147 Can be used to log buffers exchange between OMX and gst-omx to profile
1148 performances of the OMX component.
1149 Ideally this should be done using tracer hooks but it's currently not
1150 possible to define custom hooks outside of core.
1151 Use GST_DEBUG="OMX_PERFORMANCE:8" to enable it.
1153 https://github.com/gdesmott/gst-log-parser/blob/master/src/bin/omx-perf.rs
1154 as a simple program consuming those logs to generate gnuplot files and
1156 https://bugzilla.gnome.org/show_bug.cgi?id=791093
1158 2017-07-27 11:21:59 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1162 * omx/gstomxvideoenc.c:
1163 * omx/gstomxvideoenc.h:
1164 omxvideoenc: implement dmabuf import on zynqultrascaleplus
1165 The Zynq UltraScale+ encoder implements a custom OMX extension to
1166 directly import dmabuf saving the need of mapping input buffers.
1167 This can be use with either 'v4l2src io-mode=dmabuf' or an OMX video
1169 https://bugzilla.gnome.org/show_bug.cgi?id=792361
1171 2017-09-22 16:02:40 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1173 * omx/gstomxvideoenc.c:
1174 omxvideoenc: drop late input frames if QoS is enabled
1175 Make use of the new GstVideoEncoder QoS API to drop late input frames. This may
1176 help a live pipeline to catch up if it's being late and all frames end up
1177 being dropped at the sink.
1178 https://bugzilla.gnome.org/show_bug.cgi?id=792783
1180 2018-01-19 15:18:23 +0530 Ashish Kumar <kr.ashish@samsung.com>
1182 * examples/egl/testegl.c:
1183 TestEgl: Removed redundant/unused code
1184 https://bugzilla.gnome.org/show_bug.cgi?id=788550
1186 2018-01-03 16:07:18 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1188 * omx/gstomxvideoenc.c:
1189 omxvideoenc: early return in fill_buffer() if something goes wrong
1190 If something goes wrong while trying to manually copy the input buffer,
1191 the 'break' was moving us out of the 'for' loop but not out of the switch block.
1192 So we ended up calling gst_video_frame_unmap() a second time (raising
1193 assertions) and returning TRUE rather than FALSE.
1194 Reproduced with a WIP zynqultrascaleplus OMX branch reporting wrong
1195 buffer sizes and so triggering this bug.
1196 https://bugzilla.gnome.org/show_bug.cgi?id=792167
1198 2017-12-19 16:09:41 +0000 Tim-Philipp Müller <tim@centricular.com>
1201 meson: gl: the winsys and platform list in the .pc file is space-separated
1203 2017-12-19 16:08:58 +0000 Tim-Philipp Müller <tim@centricular.com>
1206 meson: fix subproject fallback for gstreamer-gl-1.0
1209 2017-12-12 17:30:27 +0000 Julien Isorce <jisorce@oblong.com>
1211 * omx/gstomxvideo.c:
1212 * omx/gstomxvideo.h:
1213 * omx/gstomxvideodec.c:
1214 omxvideodec: ignore very little variations of the framerate
1216 The dynamic format change should not happen when the
1217 resolution does not change and when only the framerate
1218 changes but very slightly, i.e. from 50000/1677=29.81
1219 to 89/3=29.66 so a "percentage change" of less than 1%
1220 (i.e. 100*(29.81-29.66)/29.66 = 0.50 < 1 ). In that case
1221 just ignore it to avoid unnecessary renegotiation.
1222 https://bugzilla.gnome.org/show_bug.cgi?id=759043
1224 2017-08-09 12:07:33 -0400 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1226 * omx/gstomxvideodec.c:
1227 * omx/gstomxvideodec.h:
1228 omxvideodec: use dynamic buffer mode on input if possible
1229 Prevent from copying the input buffers between GStreamer and OMX.
1230 Tested on zynqultrascaleplus and rpi (without dynamic buffers).
1231 https://bugzilla.gnome.org/show_bug.cgi?id=787093
1233 2017-07-20 16:35:31 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1235 * omx/gstomxvideoenc.c:
1236 * omx/gstomxvideoenc.h:
1237 omxvideoenc: use dynamic buffer mode on input if possible
1238 If the OMX component supports dynamic buffer mode and the input buffers
1239 are properly aligned avoid copying each input frame between OMX and
1241 Tested on zynqultrascaleplus and rpi (without dynamic buffers).
1242 https://bugzilla.gnome.org/show_bug.cgi?id=787093
1244 2017-07-20 12:56:37 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1246 * omx/gstomxvideodec.c:
1247 * omx/gstomxvideoenc.c:
1248 omxvideoenc/dec: factor out input buffer allocation
1249 No semantic change so far. I'm going to add an alternate way to allocate
1251 https://bugzilla.gnome.org/show_bug.cgi?id=787093
1253 2017-07-20 16:31:54 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1257 omx: add API to implement dynamic buffers support
1258 OMX 1.2.0 introduced a third way to manage buffers by allowing
1259 components to only allocate buffers header during their initialization
1260 and change their pBuffer pointer at runtime.
1261 This new feature can save us a copy between GStreamer and OMX for each
1263 This patch adds API to allocate and use such buffers.
1264 https://bugzilla.gnome.org/show_bug.cgi?id=787093
1266 2017-12-14 14:53:17 +1100 Matthew Waters <matthew@centricular.com>
1269 Automatic update of common submodule
1270 From e8c7a71 to 3fa2c9e
1272 2017-12-13 12:06:40 +0000 Julien Isorce <jisorce@oblong.com>
1274 * omx/gstomxvideodec.c:
1275 omxvideodec: consolidate the decision to try UseBuffer
1276 The tee element can call gst_query_add_allocation_pool with pool as NULL.
1277 Checking nth > 0 is not enough so we need to verify if there is a pool.
1278 https://bugzilla.gnome.org/show_bug.cgi?id=730758
1279 https://bugzilla.gnome.org/show_bug.cgi?id=784069
1281 2017-12-12 14:45:30 +0000 Julien Isorce <jisorce@oblong.com>
1283 * omx/gstomxvideo.c:
1284 * omx/gstomxvideo.h:
1285 * omx/gstomxvideodec.c:
1286 * omx/gstomxvideoenc.c:
1287 gstomxvideodec: fix framerate overflow
1288 Some live streams can set the framerate to 50000/1677 (=29.81).
1289 GstVideoInfo.fps_n << 16 is wrong if the fps_n is 50000
1290 (i.e. greater than 32767).
1291 https://bugzilla.gnome.org/show_bug.cgi?id=759043
1293 2017-08-22 13:48:26 +0100 Julien Isorce <jisorce@oblong.com>
1296 * examples/egl/Makefile.am:
1297 * examples/egl/meson.build:
1298 * examples/egl/testegl.c:
1300 example: port testegl.c to desktop
1301 Will be easier to maintain.
1302 Also uniformize autotool build with meson build which is
1303 already retrieving the gl libs.
1304 https://bugzilla.gnome.org/show_bug.cgi?id=781606
1306 2017-12-11 15:55:44 +0000 Julien Isorce <jisorce@oblong.com>
1309 meson: move omx features check after target selection
1310 And uses gst_omx_args instead of add_global_arguments.
1311 Similar to c69232852120d064c689caef07b3c68ad8fe6288
1312 which was only for configure.ac
1313 Useful to get omxvp8dec with meson too:
1314 meson . buildtmp -D with_omx_target=tizonia
1315 https://bugzilla.gnome.org/show_bug.cgi?id=782800
1317 2017-12-04 17:11:04 +0000 Julien Isorce <jisorce@oblong.com>
1319 * config/tizonia/gstomx.conf.in:
1320 config: add OMX.Aratelia.audio_decoder.aac to Tizonia config
1321 Useful mostly for testing/debugging purpose as this is a software
1322 based decoder (libfaad) for which GStreamer provides a direct
1324 https://bugzilla.gnome.org/show_bug.cgi?id=791482
1326 2017-11-29 14:18:41 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1328 * omx/gstomxvideodec.c:
1329 omxvideodec: retrieve OMX_IndexParamVideoPortFormat before setting it
1330 The usual pattern when setting OMX params is to first get the struct
1331 param, override the values we want to set and then set the updated
1333 We were not doing this with OMX_IndexParamVideoPortFormat and so were
1334 resetting some fields such as OMX_VIDEO_PARAM_PORTFORMATTYPE.xFramerate
1335 https://bugzilla.gnome.org/show_bug.cgi?id=790979
1337 2017-05-21 17:34:51 +0100 Julien Isorce <jisorce@oblong.com>
1339 * omx/gstomxaacenc.c:
1340 omxaacenc: also set 'profile' if mpegversion is 4
1341 Like done by gst_codec_utils_aac_caps_set_level_and_profile
1342 which is called by avenc_aac, ffaac and voaacenc.
1343 https://bugzilla.gnome.org/show_bug.cgi?id=735208
1345 2017-10-24 12:19:50 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1348 omx: wait for flush complete and buffers being released when flushing
1349 As stated in the existing comment, when flusing we should wait for OMX
1350 to send the flush command complete event AND all ports being released.
1351 We were stopping as soon as one of those condition was met.
1352 Fix a race between FillThisBufferDone/EmptyBufferDone and the flush
1353 EventCmdComplete messages. The OMX implementation is supposed to release
1354 its buffers before posting the EventCmdComplete event but the ordering
1355 isn't guaranteed as the FillThisBufferDone/EmptyBufferDone and
1356 EventHandler callbacks can be called from different threads (cf 2.7
1357 'Thread Safety' in the spec).
1358 https://bugzilla.gnome.org/show_bug.cgi?id=789475
1360 2017-10-24 11:45:20 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1363 gst_omx_port_set_flushing: simplify waiting loop
1364 No semantic change so far, I just made the 'while' end condition easier
1365 to understand as a first step before changing it.
1366 - move error/time out checks inside the loop to make it clearer on what
1367 we are actually waiting for.
1368 - group port->buffers checks together with parenthesis as they are part
1369 of the same conceptual check: waiting for all buffers to be released.
1370 https://bugzilla.gnome.org/show_bug.cgi?id=789475
1372 2017-11-27 20:17:17 +1100 Matthew Waters <matthew@centricular.com>
1375 Automatic update of common submodule
1376 From 3f4aa96 to e8c7a71
1378 2017-11-23 15:03:48 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1380 * omx/gstomxh264enc.c:
1381 * omx/gstomxh264utils.c:
1382 zynqultrascaleplus: add support for extra AVC levels
1383 The Zynqultrascaleplus has support for extra AVC levels not defined in
1384 the OMX spec as a customer extension.
1385 https://bugzilla.gnome.org/show_bug.cgi?id=790758
1387 2017-10-16 14:47:07 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1391 * config/meson.build:
1394 * tests/Makefile.am:
1395 * tests/check/.gitignore:
1396 * tests/check/Makefile.am:
1397 * tests/check/generic/.gitignore:
1398 * tests/check/generic/states.c:
1399 * tests/check/meson.build:
1400 * tests/meson.build:
1402 Most of the boilerplate and the states test has been copied from
1404 https://bugzilla.gnome.org/show_bug.cgi?id=789094
1406 2017-10-17 13:07:05 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1409 * tools/meson.build:
1410 meson: add tools support
1411 Looks like the tools directory was left out during the initial port to
1413 https://bugzilla.gnome.org/show_bug.cgi?id=789090
1415 2017-10-16 14:24:50 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1418 omx: fix build on rpi
1419 The nTimeStamp field is a OMX_TICKS struct on the rpi so use the proper
1421 Fix build on the build which has been broken by
1422 b3173144b7c1b12c9e1b7571f78659be45d813f6
1423 https://bugzilla.gnome.org/show_bug.cgi?id=789052
1425 2017-10-17 12:11:04 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1429 check if Allegro headers are present when building zynqultrascaleplus
1430 The Zynq UltraScale+ uses a custom version of OMX implementing several
1431 3rd party extensions. Make sure those are present when building this
1433 https://bugzilla.gnome.org/show_bug.cgi?id=788064
1435 2017-10-16 12:42:44 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1437 * omx/gstomxvideodec.c:
1438 omxvideodec: remove redundant debug message
1439 We have already a debug message right after.
1440 https://bugzilla.gnome.org/show_bug.cgi?id=789058
1442 2017-10-16 13:26:38 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1444 * omx/gstomxh265enc.c:
1445 * omx/gstomxh265utils.c:
1446 omxh265: fix enum casting when using Allegro HEVC extensions
1447 Allegro's HEVC implementation defines a superset of the profiles and
1448 enums from the Android implementation.
1449 Properly cast to fix -Wenum-conversion warnings from clang.
1450 https://bugzilla.gnome.org/show_bug.cgi?id=789057
1452 2017-10-16 13:08:12 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1454 * omx/gstomxh265enc.c:
1455 * omx/gstomxvp8dec.c:
1456 properly cast extension enums
1457 OMX's allow 3rds party to define extensions using their own enums
1458 (like OMX_VIDEO_CODINGEXTTYPE) and to be used as the general
1459 ones (like OMX_VIDEO_CODINGTYPE).
1460 Properly cast those to fix -Wenum-conversion warnings from some
1461 compilers such as clang.
1462 https://bugzilla.gnome.org/show_bug.cgi?id=789057
1464 2017-10-09 13:12:35 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1467 omx: also reset nTimeStamp when re-using buffers
1468 Some OMX implementations may check if the timestamp of the output buffers
1469 they receive is actually not set.
1470 https://bugzilla.gnome.org/show_bug.cgi?id=788711
1472 2017-10-04 17:11:55 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1475 omx: factor out gst_omx_buffer_reset()
1476 https://bugzilla.gnome.org/show_bug.cgi?id=788711
1478 2017-10-09 17:27:22 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1482 * omx/gstomxvideodec.c:
1483 * omx/gstomxvideoenc.c:
1484 add gst_omx_buffer_flags_to_string()
1485 Make debug logs more readable so users don't have to manually figure out
1486 the meaning of flags.
1487 https://bugzilla.gnome.org/show_bug.cgi?id=788767
1489 2017-09-27 19:47:29 +0530 Ponnam Srinivas <p.srinivas@samsung.com>
1491 * omx/gstomxh263enc.c:
1492 h263enc: fix caps leak in error code path
1493 https://bugzilla.gnome.org/show_bug.cgi?id=788245
1495 2017-09-21 15:21:36 +0530 Ponnam Srinivas <p.srinivas@samsung.com>
1497 * omx/gstomxh264enc.c:
1498 omxh264enc: fix caps leak
1499 https://bugzilla.gnome.org/show_bug.cgi?id=787711
1501 2017-09-21 11:36:46 +0530 Ponnam Srinivas <p.srinivas@samsung.com>
1503 * omx/gstomxh265enc.c:
1504 omxh265enc: fix caps leak
1505 https://bugzilla.gnome.org/show_bug.cgi?id=787714
1507 2017-09-13 15:32:51 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1509 * omx/gstomxvideodec.c:
1510 omxvideodec: log info about frame before releasing it
1511 gst_video_decoder_release_frame() takes ownership of the frame and will
1512 destroy it. So we should no longer use it after calling it.
1513 https://bugzilla.gnome.org/show_bug.cgi?id=787628
1515 2017-08-20 20:19:33 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
1518 configure: Show tizonia target in help
1519 https://bugzilla.gnome.org/show_bug.cgi?id=786544
1521 2017-07-12 14:35:10 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1523 * config/zynqultrascaleplus/gstomx.conf:
1526 * omx/gstomxh265dec.c:
1527 * omx/gstomxh265dec.h:
1529 omxh265dec: add H265 decoder
1530 Add HEVC decoder for the zynqultrascaleplus platform.
1531 I used the H264 decoder code as a template.
1532 https://bugzilla.gnome.org/show_bug.cgi?id=785434
1534 2017-07-12 11:01:15 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1536 * config/zynqultrascaleplus/gstomx.conf:
1541 * omx/gstomxh265enc.c:
1542 * omx/gstomxh265enc.h:
1543 * omx/gstomxh265utils.c:
1544 * omx/gstomxh265utils.h:
1546 omxh265enc: add H265 encoder
1547 The OMX spec doesn't support HEVC but the OMX stack of the
1548 zynqultrascaleplus adds it as a custom extension.
1549 It uses the same API as the one of Android's OMX stack.
1550 I used the H264 encoder code as a template.
1551 https://bugzilla.gnome.org/show_bug.cgi?id=785434
1553 2017-08-28 13:56:22 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1555 * omx/gstomxvideoenc.c:
1556 omxvideoenc: use caps from query in propose_allocation
1557 Prevent crash by not deferencing a NULL pointer if self->input_state
1558 isn't defined when propose_allocation() is called.
1559 https://bugzilla.gnome.org/show_bug.cgi?id=786442
1561 2017-09-04 09:34:03 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1564 omx: display states as string if changing failed
1565 Improve the error message by displaying the states in their string
1566 representation rather than their numerical value.
1567 https://bugzilla.gnome.org/show_bug.cgi?id=787235
1569 2017-08-22 10:22:45 +0100 Julien Isorce <jisorce@oblong.com>
1571 * omx/gstomxvideodec.c:
1572 omxvideodec: EGLDisplay is not indirectly defined by gstgl headers inclusion
1573 Just use gpointer as done in GstGL to not include
1574 EGL/egl.h just for EGLDisplay.
1575 https://bugzilla.gnome.org/show_bug.cgi?id=784779
1577 2017-07-14 16:34:04 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
1579 * config/tizonia/gstomx.conf.in:
1580 config: expose OMX.mesa h264 decoder and encoder in Tizonia config
1581 https://bugzilla.gnome.org/show_bug.cgi?id=783976
1583 2017-08-11 07:48:37 -0700 Julien Isorce <jisorce@oblong.com>
1585 * omx/gstomxvideodec.c:
1586 omxvideodec: remove wrong SettingsChanged ack
1587 Partially revert 1b7d0b8:
1588 omxvideodec: handle IL 1.2 behavior for OMX_SetParameter
1589 It turned out it was a problem in the decoder which was
1590 not updating some local variables upon SetParameter.
1591 https://bugzilla.gnome.org/show_bug.cgi?id=783976
1593 2017-07-20 09:43:19 +0100 Julien Isorce <jisorce@oblong.com>
1595 * omx/gstomxaudiodec.c:
1596 * omx/gstomxaudioenc.c:
1597 * omx/gstomxvideodec.c:
1598 * omx/gstomxvideoenc.c:
1599 omx{audio,video}{dec,enc}: sequentially disable ports because buffers are not shared
1600 For the history, the parallel disable port has been introduced by:
1601 "00be69f omxvideodec: Disable output port when setting a new format"
1602 and then replicated to videoenc, audiodec and audioenc.
1603 This is only required to do 'parallel' if buffers are shared between ports.
1604 But for decoders and encoders the input and output buffer are of different
1605 nature by definition (bitstream vs images). So they cannot be shared.
1606 Also starting from IL 1.2.0 it is written in the spec that the parallel
1607 disable is not allowed and will return an error. Except when buffers are
1609 Again here we know in advance that they are not shared so let's always
1610 do a sequential disable.
1611 Tested on Desktop, rpi and zynqultrascaleplus.
1612 https://bugzilla.gnome.org/show_bug.cgi?id=786348
1614 2017-08-17 12:26:05 +0100 Tim-Philipp Müller <tim@centricular.com>
1617 Automatic update of common submodule
1618 From 48a5d85 to 3f4aa96
1620 2017-08-10 12:16:53 -0400 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1622 * omx/gstomxvideodec.c:
1623 omxvideodec: use the decoder API to set latency
1624 https://bugzilla.gnome.org/show_bug.cgi?id=785125
1626 2017-07-06 14:19:19 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1628 * omx/gstomxvideodec.c:
1629 * omx/gstomxvideoenc.c:
1630 omxvideoenc/dec: declare latency on zynqultrascaleplus
1631 The OMX specification doesn't provide any API to expose the latency
1632 introduced by encoders and decoders. We implemented this as a custom
1633 extension as declaring the latency is needed for live pipelines like
1635 https://bugzilla.gnome.org/show_bug.cgi?id=785125
1637 2017-08-07 13:16:01 -0400 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1639 * omx/gstomxvideoenc.c:
1640 omxvideoenc: adjust stride and slice height from input
1641 Use the stride and slice height information from the first buffer meta
1642 data to adjust the settings of the input port.
1643 This will ensure that the OMX input buffers match the GStreamer ones
1644 and so will save us from having to copy line-by-line each one.
1645 This is also the first step to allow the OMX encoder to receive dmabuf.
1646 Tested on rpi and zynqultrascaleplus.
1647 https://bugzilla.gnome.org/show_bug.cgi?id=785967
1649 2017-08-07 11:45:29 -0400 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1651 * omx/gstomxvideoenc.c:
1652 omxvideoenc: delay buffer configuration until component is enabled
1653 No significant change for now. Just delay the input port configuration
1654 of the buffer size related fields (stride, slice height, buffer size)
1655 until the component is activated.
1656 This will allow us to use the actual stride/height of the first input
1657 and so avoid the buffer copying code path in most cases.
1658 Tested on rpi and zynqultrascaleplus.
1659 https://bugzilla.gnome.org/show_bug.cgi?id=785967
1661 2017-07-24 13:52:35 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1663 * omx/gstomxvideodec.c:
1664 * omx/gstomxvideoenc.c:
1665 omxvideodec/enc: delay allocation after the allocation query
1666 Allocating OMX components buffers in set_format() is too early.
1667 Doing it when receiving the first buffers will allow the element to use
1668 the information from the allocation query and/or the first incoming
1669 buffer to pick to best allocation mode.
1670 Tested on raspberry pi with dynamic resolution changes on decoder and
1672 https://bugzilla.gnome.org/show_bug.cgi?id=785967
1674 2017-07-25 14:27:45 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1676 * omx/gstomxvideoenc.c:
1677 omxvideoenc: start src thread in handle_frame()
1678 Makes the code simpler as we no longer need to restart the thread in
1679 gst_omx_video_enc_flush() and It's more symetric which the omxvideodec
1681 I'm also going to move the enabling of the OMX component in
1682 handle_frame() and the src pad thread needs to be started after it.
1683 https://bugzilla.gnome.org/show_bug.cgi?id=785967
1685 2017-07-25 14:07:30 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1687 * omx/gstomxvideodec.c:
1688 omxvideodec: earlier return if downstream_flow_ret is not OK
1689 There is no point to (re)start the src thread if, for example, we are
1691 https://bugzilla.gnome.org/show_bug.cgi?id=785967
1693 2017-07-24 12:31:37 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1695 * omx/gstomxvideodec.c:
1696 * omx/gstomxvideodec.h:
1697 omxvideodec: factor out enable and disable code
1698 No semantic change, just factor out the code enabling and disabling the
1699 component to their own functions.
1700 Makes the code easier to read as the set_format() method was already
1701 pretty big. Will also allow us to easily change the enabling logic.
1702 https://bugzilla.gnome.org/show_bug.cgi?id=785967
1704 2017-07-24 12:31:37 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1706 * omx/gstomxvideoenc.c:
1707 * omx/gstomxvideoenc.h:
1708 omxvideoenc: factor out enable and disable code
1709 No semantic change, just factor out the code enabling and disabling the
1710 component to their own functions.
1711 Makes the code easier to read as the set_format() method was already
1712 pretty big. Will also allow us to easily change the enabling logic.
1713 https://bugzilla.gnome.org/show_bug.cgi?id=785967
1715 2017-07-27 12:12:01 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1718 omx: also reset nFilledLen before calling OMX_FillThisBuffer()
1719 The spec states that the buffer passed to OMX_FillThisBuffer() needs to be
1720 empty. Some implementation may check it actually is by checking its
1721 nFilledLen field, so best to reset it as well.
1722 https://bugzilla.gnome.org/show_bug.cgi?id=785623
1724 2017-07-17 21:06:47 +0100 Julien Isorce <jisorce@oblong.com>
1726 * omx/gstomxvideodec.c:
1727 * omx/gstomxvideodec.h:
1728 omxvideodec: make generic the OMX_UseEGLImage code path
1729 Will be easier to maintain and to make enhancements.
1730 Tested with Tizonia on Desktop.
1731 Also tested with Bellagio to make sure it does not crash when
1732 calling OMX_UseEGLImage and indeed it returns NotImplemented.
1733 Then gst-omx fallback to OMX_UseBuffer if it can and so on.
1734 Also tested on rpi to make sure there is no regression.
1735 https://bugzilla.gnome.org/show_bug.cgi?id=784365
1737 2017-07-21 11:52:00 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1739 * omx/gstomxvideodec.c:
1740 omxvideodec: Fix segment seek
1741 On segment seek, unlike EOS, we drain, but we cannot expect a flush
1742 later to reset the decoder state. As a side effect, the decoder would
1743 remain in EOS state and ignore any new incoming buffers.
1744 To fix this, we call _flush() inside the _drain() function, and
1745 _finish() becomes what _drain() was before. This way, for _finish() (the
1746 eos case) we only drain, for _drain() triggered by segment seek or new
1747 caps, we also reset the decoder state so it's ready to accept buffers.
1748 https://bugzilla.gnome.org/show_bug.cgi?id=785237
1750 2017-07-10 15:00:58 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1752 * omx/gstomxvideoenc.c:
1753 omxvideoenc: ensure enough buffers are allocated in the pool
1754 Handle allocation query and ensure enough buffers are allocated in
1755 the negotiated pool. This help preventing buffer starvation in the pipeline.
1756 https://bugzilla.gnome.org/show_bug.cgi?id=785122
1758 2017-07-04 12:16:39 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1763 * omx/gstomxbufferpool.c:
1764 * omx/gstomxbufferpool.h:
1765 * omx/gstomxvideodec.c:
1766 * omx/gstomxvideodec.h:
1768 omxvideodec: add dmabuf support for output
1769 The zynqultrascaleplus OMX implementation has a custom extension
1770 allowing decoders to output dmabuf and so avoid buffers copy between OMX
1772 Make use of this extension when built on the zynqultrascaleplus. The
1773 buffer pool code should be re-usable for other platforms as well.
1774 https://bugzilla.gnome.org/show_bug.cgi?id=784847
1776 2017-06-20 00:13:33 +0100 Julien Isorce <jisorce@oblong.com>
1778 * config/tizonia/gstomx.conf.in:
1779 config: add OMX.Aratelia.video_decoder.vp8 to Tizonia config
1780 Useful mostly for testing/debugging purpose as this is a software
1781 based encoder (libvpxdec) for which GStreamer provides a direct
1783 https://bugzilla.gnome.org/show_bug.cgi?id=783976
1785 2017-06-19 23:56:02 +0100 Julien Isorce <jisorce@oblong.com>
1787 * omx/gstomxvideodec.c:
1788 omxvideodec: handle IL 1.2 behavior for OMX_SetParameter
1789 It triggers SettingsChanged on the other port and it is up to
1790 the client to decide if it should lead to a port reconfiguration.
1791 Settings are propagated to the other port for fields they have
1792 in common. But this event is only triggered on the other port
1793 if it actually change a setting.
1794 https://bugzilla.gnome.org/show_bug.cgi?id=783976
1796 2017-07-18 23:41:17 +0100 Julien Isorce <jisorce@oblong.com>
1798 * config/tizonia/gstomx.conf.in:
1799 config: set rank to 0 for Tizonia's mp3 decoder
1800 Should have been 0 from the initial commit
1801 eed49b4231a063639f90279c8044404c2149902a
1803 2017-07-17 21:03:55 +0100 Julien Isorce <jisorce@oblong.com>
1805 * omx/gstomxvideodec.c:
1806 omxvideodec: fix file permissions
1807 Introduced by ebc9b4903cbdac2793c24b05a1bb7acc3b67fae5
1809 2017-06-29 23:17:26 +0100 Julien Isorce <jisorce@oblong.com>
1811 * omx/gstomxvideodec.c:
1812 omxvideodec: fix buffer leak when eglimage setup fails
1813 Can happen if gst_buffer_pool_acquire_buffer succeeds but
1814 gst_buffer_n_memory (buffer) is not exactly 1.
1815 In theory this should not happen because the decoder requests
1816 EGLImage(RGBA) but better to fix any leak on corner cases.
1817 https://bugzilla.gnome.org/show_bug.cgi?id=784365
1819 2017-07-17 18:36:36 +0530 Satya Prakash Gupta <sp.gupta@samsung.com>
1822 omx: Possible Memory leak in gst_caps_from_string
1823 https://bugzilla.gnome.org/show_bug.cgi?id=784978
1825 2017-07-17 15:48:44 +0530 Satya Prakash Gupta <sp.gupta@samsung.com>
1827 * omx/gstomxvideoenc.c:
1828 omxvideoenc: Fix deadlock in error case when draining
1829 https://bugzilla.gnome.org/show_bug.cgi?id=784972
1831 2017-07-17 13:44:54 +0530 Satya Prakash Gupta <sp.gupta@samsung.com>
1833 * omx/gstomxaudioenc.c:
1834 omxaudioenc: Fix deadlock in error case when draining
1835 https://bugzilla.gnome.org/show_bug.cgi?id=784967
1837 2017-06-02 12:36:30 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1842 build: include OMX_IndexExt and OMX_ComponentExt if present
1843 These files may be used by OMX implementation to define custom extensions.
1844 Include them if present as we are already doing with OMX_VideoExt.h
1845 https://bugzilla.gnome.org/show_bug.cgi?id=784847
1847 2017-07-13 16:40:26 +1000 Jan Schmidt <jan@centricular.com>
1849 * omx/gstomxh264enc.c:
1850 omxh264enc: Re-add periodicty-idr property for backward compat
1851 Retain backwards compatibility by adding a duplicate
1852 property for periodicty-idr
1853 https://bugzilla.gnome.org/show_bug.cgi?id=784370
1855 2017-06-30 15:15:06 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1857 * omx/gstomxh264enc.c:
1858 omxh264enc: fix typo in "periodicty-idr" property name
1859 Also fix the 'nick' of the property.
1860 https://bugzilla.gnome.org/show_bug.cgi?id=784370
1862 2017-06-29 22:48:47 +0100 Julien Isorce <jisorce@oblong.com>
1864 * omx/gstomxvideodec.c:
1865 * omx/gstomxvideodec.h:
1866 omxvideodec: use OMX_UseBuffer
1867 For example this allows the omx decoder to directly fill the
1868 pixmaps coming from the video sink.
1869 It only avoids a buffer copy when the decoder uses a pool provided
1870 by a downstream element. So let's restrict this usage to situations
1871 where the decoder decides to use a downstream buffer pool.
1872 Tested with Tizonia/OMX.Aratelia.video_decoder.vp8
1873 and with Bellagio/OMX.mesa.video_decoder.avc.
1874 If it fails to setup buffers with OMX_UseBuffer the decoders
1875 fallbacks to usual OMX_AllocateBuffer.
1876 Also it allows to test on desktop the GstOMXBufferPool->other_pool
1877 management which was previously only used in the OMX_UseEGLImage
1879 https://bugzilla.gnome.org/show_bug.cgi?id=784069
1881 2017-07-12 10:29:16 +0100 Julien Isorce <jisorce@oblong.com>
1884 omx: do not always print an error if OMX_{UseBuffer,EGLImage} fails
1885 Let the caller decide to print an error. Because it can be part of
1886 a normal trial path.
1887 https://bugzilla.gnome.org/show_bug.cgi?id=784069
1889 2017-07-12 16:00:53 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1892 meson: add gstomxmp3enc
1893 Commit 02d493e85921596f7cac7ef4af02fde500e9a5d8 didn't add
1894 gstomxmp3enc.c to meson.
1895 https://bugzilla.gnome.org/show_bug.cgi?id=784848
1897 2017-05-23 10:32:58 +0100 Julien Isorce <jisorce@oblong.com>
1899 * config/tizonia/gstomx.conf.in:
1900 config: add OMX.Aratelia.audio_encoder.mp3 to Tizonia config
1901 Useful mostly for testing/debugging purpose as this is a software
1902 based encoder (libmp3lame) for which GStreamer provides a direct
1904 https://bugzilla.gnome.org/show_bug.cgi?id=782988
1906 2017-05-23 10:32:06 +0100 Julien Isorce <jisorce@oblong.com>
1910 * omx/gstomxmp3enc.c:
1911 * omx/gstomxmp3enc.h:
1912 omx: add gstomxmp3enc
1913 Initial support and only tested with the software based
1914 encoder OMX.Aratelia.audio_encoder.mp3 from Tizonia which
1915 internally uses libmp3lame.
1916 https://bugzilla.gnome.org/show_bug.cgi?id=782988
1918 2017-03-28 16:27:10 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1920 * config/zynqultrascaleplus/gstomx.conf:
1923 * omx/gstomxh264dec.c:
1924 h264dec: add hack to pass profile and level to OMX
1925 This information can be useful to zynqultrascaleplus decoders. They may
1926 use this information to reduce startup latency by configuring itself
1927 before receiving the first frames.
1928 We also have a custom OMX extension allowing the decoder to report the
1929 latency. The profile/level information helps it reporting a more
1930 accurate latency earlier.
1931 https://bugzilla.gnome.org/show_bug.cgi?id=783114
1933 2017-07-03 13:17:11 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1936 * omx/gstomxh264enc.c:
1937 * omx/gstomxh264utils.c:
1938 * omx/gstomxh264utils.h:
1940 omxh264enc: move profile and level parsing functions to their own files
1941 Will allow to re-use them in the decoder element.
1942 https://bugzilla.gnome.org/show_bug.cgi?id=783114
1944 2017-07-04 03:15:00 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
1946 * config/meson.build:
1947 * config/tizonia/meson.build:
1949 * meson_options.txt:
1950 meson: Add tizonia option
1951 https://bugzilla.gnome.org/show_bug.cgi?id=782800
1953 2017-04-29 02:56:59 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
1956 * config/tizonia/Makefile.am:
1957 * config/tizonia/gstomx.conf.in:
1958 * config/tizonia/meson.build:
1960 config: add omxmp3dec config for tizonia
1961 GST_OMX_CONFIG_DIR=$HOME/gst/master/gst-omx/config/tizonia/ \
1962 gst-launch-1.0 filesrc location=mpthreetest.mp3 ! id3demux ! \
1963 mpegaudioparse ! omxmp3dec ! audioconvert ! pulsesink
1964 v2: [Nicolas] Use template to create gstomx.conf using pkg-config
1965 v3: [Nicolas] Ignore only config/tizonia/gstomx.conf
1966 v4: [Nicolas] Add "/" for single occurence
1967 https://bugzilla.gnome.org/show_bug.cgi?id=782800
1969 2017-05-07 20:09:54 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
1972 omx: always ignore OMX_ErrorPortUnpopulated
1973 It is safe to ignore it always. Tizonia notifies this error to pass
1974 some khronos conformance tests. Problem is that gst-omx saves this
1975 error in comp->last_error and then gst_omx_port_set_enabled early
1976 error out which fails the pipeline.
1977 https://bugzilla.gnome.org/show_bug.cgi?id=782800
1979 2017-04-29 02:53:26 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
1983 omx: guard some omx enums with IL version
1984 Some enums that existed in 1.1.2 just do not exit in 1.2.0
1985 See https://www.khronos.org/registry/OpenMAX-IL/specs/OpenMAX_IL_1_2_0_Specification_redline.pdf
1986 https://bugzilla.gnome.org/show_bug.cgi?id=782800
1988 2017-04-29 01:56:01 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
1991 configure.ac: add tizonia target for --with-omx-target flag.
1992 This will check for tizilheaders.pc which adds path to omx-il
1993 headers its cflags. Can be installed all together with the 1.2 headers
1994 with package tizilheaders if not building from sources:
1995 https://github.com/tizonia/tizonia-openmax-il
1996 It is also adviced to remove libomxil-bellagio-dev package because
1997 it installs headers /usr/include directly, ex: /usr/include/OMX_Video.h.
1998 https://bugzilla.gnome.org/show_bug.cgi?id=782800
2000 2017-07-05 10:47:41 +0100 Julien Isorce <jisorce@oblong.com>
2002 * omx/gstomxaudioenc.c:
2003 omxaudioenc: update local port_def after reopening the component
2004 gst_omx_audio_enc_open will only update GstOMXAudioEnc->port->port_def.
2005 Note that the component is reopen only if the flag
2006 GST_OMX_HACK_NO_COMPONENT_RECONFIGURE is set.
2007 https://bugzilla.gnome.org/show_bug.cgi?id=782418
2009 2017-07-05 10:48:52 +0100 Julien Isorce <jisorce@oblong.com>
2011 * omx/gstomxvideoenc.c:
2012 omxvideoenc: update local port_def after reopening the component
2013 gst_omx_video_enc_open will only update GstOMXVideoEnc->port->port_def.
2014 Note that the component is reopen only if the flag
2015 GST_OMX_HACK_NO_COMPONENT_RECONFIGURE is set.
2016 https://bugzilla.gnome.org/show_bug.cgi?id=782418
2018 2017-05-10 12:38:39 +0900 Sejun Park <sejun79.park@samsung.com>
2020 * omx/gstomxvideodec.c:
2021 omxvideodec: update local port_def after reopening the component
2022 gst_omx_video_dec_open will only update GstOMXVideoDec->port->port_def.
2023 Note that the component is reopen only if the flag
2024 GST_OMX_HACK_NO_COMPONENT_RECONFIGURE is set.
2025 https://bugzilla.gnome.org/show_bug.cgi?id=782418
2027 2017-07-03 16:33:06 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2029 * omx/gstomxvideodec.c:
2030 omxvideodec: increase the minimum number of allocated buffers
2031 Ensure that enough buffers are allocated by adding up component's own
2032 minimal plus the number of buffers requested by downstream.
2033 This should prevent buffers starvation problem if downstream elements
2034 are holding some of the buffers they required.
2035 Also simplify the check on the maximum on buffers. What we actually care
2036 about is to make sure the pool can hold the minimum of required buffers.
2037 https://bugzilla.gnome.org/show_bug.cgi?id=784479
2039 2017-07-03 10:54:50 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2041 * omx/gstomxh264enc.c:
2042 omxh264enc: raise a warning if AVCIntraPeriod is not supported
2043 Some platforms may not implement OMX_IndexConfigVideoAVCIntraPeriod and
2044 use OMX_IndexParamVideoAvc instead to configure the GOP pattern.
2045 So raise a warning instead of an error if this API is not implemented.
2046 https://bugzilla.gnome.org/show_bug.cgi?id=784379
2048 2017-06-29 14:16:19 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2050 * omx/gstomxh264enc.c:
2051 * omx/gstomxh264enc.h:
2052 omxh264enc: add 'b-frames' property
2053 Add a property to control the number of B-frames produced by the
2054 encoder using the OMX_VIDEO_PARAM_AVCTYPE OMX API.
2055 https://bugzilla.gnome.org/show_bug.cgi?id=784379
2057 2017-06-30 14:18:35 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2059 * omx/gstomxh264enc.c:
2060 omxh264enc: fix typo in 'set_avc_intra_period'
2061 https://bugzilla.gnome.org/show_bug.cgi?id=784379
2063 2017-05-22 11:23:33 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2065 * config/Makefile.am:
2066 * config/meson.build:
2067 * config/zynqultrascaleplus/Makefile.am:
2068 * config/zynqultrascaleplus/gstomx.conf:
2069 * config/zynqultrascaleplus/meson.build:
2072 * meson_options.txt:
2073 add 'zynqultrascaleplus' as OMX target
2074 Adding support for the 'Zynq UltraScale+' as a new OMX target.
2075 See https://www.xilinx.com/products/silicon-devices/soc/zynq-ultrascale-mpsoc.html
2076 for details about the platform.
2077 https://bugzilla.gnome.org/show_bug.cgi?id=783097
2079 2017-05-21 15:23:09 +0100 Julien Isorce <jisorce@oblong.com>
2081 * config/bellagio/gstomx.conf:
2082 config: add OMX.mesa.video_decoder.{avc,mpeg2} for Bellagio config
2083 Install libomxil-bellagio0 and make sure mesa has been built with
2084 --enable-omx. Check there is /usr/lib/libomxil-bellagio0/libomx_mesa.so
2085 then run omxregister-bellagio to regenerate $XDG_DATA_HOME/.omxregister
2086 Then omxh264dec and omxmpeg2dec should load.
2087 https://bugzilla.gnome.org/show_bug.cgi?id=782926
2089 2017-05-18 13:50:56 +0100 Julien Isorce <jisorce@oblong.com>
2092 configure.ac: move omx features check after target selection
2093 Does not change anything, except this will be useful for future commits.
2094 Indeed some targets provide a .pc file where to look for the omx headers.
2095 https://bugzilla.gnome.org/show_bug.cgi?id=782800
2097 2017-06-29 16:48:07 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2099 * omx/gstomxh264dec.c:
2100 omxh264dec: remove 'parsed=true' from sink pad
2101 The decoder only requires to receive one frame per buffer which is
2102 already enforced with 'alignment=au'. There is no need to require to
2103 have a parser upstream.
2104 Allow to run "encode ! decode" pipeline without having a parser.
2105 https://bugzilla.gnome.org/show_bug.cgi?id=784344
2107 2017-06-16 13:28:33 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2109 * omx/gstomxh264enc.c:
2110 omxh264enc: set profile/level using OMX_VIDEO_PARAM_AVCTYPE as well
2111 The OMX specification defines two API to set the AVC profile and level:
2112 using OMX_VIDEO_PARAM_PROFILELEVELTYPE and OMX_VIDEO_PARAM_AVCTYPE.
2113 We were already supporting the former but not the latter. We are now
2114 setting both so implementation don't have to rely on a specific one.
2115 https://bugzilla.gnome.org/show_bug.cgi?id=783862
2117 2017-06-16 13:19:33 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2119 * omx/gstomxh264enc.c:
2120 omxh264enc: factor out update_param_profile_level()
2121 https://bugzilla.gnome.org/show_bug.cgi?id=783862
2123 2017-06-16 12:53:15 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2125 * omx/gstomxh264enc.c:
2126 omxh264enc: factor out string to profile/level enum conversion
2127 https://bugzilla.gnome.org/show_bug.cgi?id=783862
2129 2017-06-28 15:06:10 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2131 * omx/gstomxh264enc.c:
2132 omxh264enc: use OMX_IndexConfigBrcmVideoIntraPeriod on pi
2133 The OMX_VIDEO_CONFIG_AVCINTRAPERIOD.nPFrames setting isn't of any use on
2134 the raspbery pi. Instead it uses a custom extension to define the I
2136 https://bugzilla.gnome.org/show_bug.cgi?id=783829
2138 2017-06-28 15:03:52 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2140 * omx/gstomxh264enc.c:
2141 omxh264enc: factor out set_avc_intra_perdiod()
2142 https://bugzilla.gnome.org/show_bug.cgi?id=783829
2144 2017-06-02 12:48:57 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2147 meson: define HAVE_VIDEO_EXT if OMX_VideoExt.h is present
2148 Meson build wasn't defining the HAVE_VIDEO_EXT like configure.ac does.
2149 https://bugzilla.gnome.org/show_bug.cgi?id=783346
2151 2017-06-11 12:32:01 +0000 Graham Leggett <minfrin@sharp.fm>
2153 * omx/gstomxvideoenc.c:
2154 omxvideoenc: Improve debug output when setting codec state due to new codec_data fails
2155 https://bugzilla.gnome.org/show_bug.cgi?id=783657
2157 2017-05-20 14:49:20 +0100 Julien Isorce <jisorce@oblong.com>
2160 omx: allow 0 feature
2161 Previously the omx plugin was blacklisted if GST_OMX_CONFIG_DIR
2162 points to an invalid path or if the gstomx.conf contains 0 valid
2164 Problem is that once the plugin is blacklisted, a rescan is not
2165 triggered upon changes of the env var or the gstomx.conf file
2166 despite being setup with gst_plugin_add_dependency.
2167 This also makes it more consistent with other plugins that auto
2168 generate features. For example gst-{ffmeg,libav}, gstreamer-vaapi,
2170 To clarify the diff, the plugin_init func will return TRUE even if
2171 g_key_file_get_groups returns 0 element and even if
2172 g_key_file_load_from_dirs fails.
2173 https://bugzilla.gnome.org/show_bug.cgi?id=782867
2175 2017-04-26 22:52:17 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
2177 * config/bellagio/gstomx.conf:
2178 config: add OMX.st.audio_decoder.mp3.mad for Bellagio config
2179 MP3 Software decoder (libmad based) but useful for testing
2180 and to compare with other targets.
2181 GST_OMX_CONFIG_DIR=$HOME/gst/master/gst-omx/config/bellagio/ \
2182 gst-launch-1.0 filesrc location=mpthreetest.mp3 ! id3demux ! \
2183 mpegaudioparse ! omxmp3dec ! audioconvert ! pulsesink
2184 Didn't add 'local' in core-name path compared to other components
2185 in that same gstomx.conf file because OMX.st.audio_decoder.mp3.mad
2186 comes with the Ubuntu package 'libomxil-bellagio0-components-mad'.
2187 All other components listed in this gstomx.conf for Bellagio, are
2188 not provided by any Ubuntu packages. It could explain the 'local',
2189 i.e. requiring to build them from source.
2190 dpkg -L libomxil-bellagio0
2191 /usr/lib/libomxil-bellagio.so.0
2192 https://bugzilla.gnome.org/show_bug.cgi?id=781786
2193 Signed-off-by: Gurkirpal Singh <gurkirpal204@gmail.com>
2194 Signed-off-by: Julien Isorce <jisorce@oblong.com>
2196 2017-05-16 14:39:04 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
2199 Remove plugin specific static build option
2200 Static and dynamic plugins now have the same interface. The standard
2201 --enable-static/--enable-shared toggle are sufficient.
2203 2017-05-10 12:10:10 +0900 Sejun Park <sejun79.park@samsung.com>
2205 * omx/gstomxvideodec.c:
2206 omxvideodec: Removed unreachable code
2207 https://bugzilla.gnome.org/show_bug.cgi?id=782416
2209 2017-05-09 16:26:44 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2212 meson: add dep on GModule
2213 libgstomx uses the GModule API and so needs it in its dependencies list.
2214 https://bugzilla.gnome.org/show_bug.cgi?id=782387
2216 2017-05-09 13:27:28 +0000 Tim-Philipp Müller <tim@centricular.com>
2219 meson: fix config.h generation
2220 "No such input file config.h.meson", but it's not needed anyway.
2221 https://bugzilla.gnome.org/show_bug.cgi?id=782382
2223 2017-05-04 18:59:33 +0300 Sebastian Dröge <sebastian@centricular.com>
2229 === release 1.12.0 ===
2231 2017-05-04 15:48:56 +0300 Sebastian Dröge <sebastian@centricular.com>
2241 === release 1.11.91 ===
2243 2017-04-27 17:53:50 +0300 Sebastian Dröge <sebastian@centricular.com>
2253 2017-04-17 17:02:48 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2255 * omx/gstomxvideoenc.c:
2256 videoenc: use GST_ROUND_UP_N() macro
2257 Makes the code much easier to read and understand.
2258 https://bugzilla.gnome.org/show_bug.cgi?id=781409
2260 2017-04-24 20:30:21 +0100 Tim-Philipp Müller <tim@centricular.com>
2263 Automatic update of common submodule
2264 From 60aeef6 to 48a5d85
2266 2017-04-10 23:51:00 +0100 Tim-Philipp Müller <tim@centricular.com>
2270 Automatic update of common submodule
2271 From 39ac2f5 to 60aeef6
2273 === release 1.11.90 ===
2275 2017-04-07 16:36:45 +0300 Sebastian Dröge <sebastian@centricular.com>
2285 2017-04-07 14:27:23 +0300 Sebastian Dröge <sebastian@centricular.com>
2287 * omx/gstomxvideoenc.c:
2288 omxvideoenc: Fix compiler warning
2289 gstomxvideoenc.c: In function ‘gst_omx_video_enc_fill_buffer’:
2290 CC libgstomx_la-gstomxaacdec.lo
2291 gstomxvideoenc.c:1316:27: warning: format ‘%u’ expects argument of type ‘unsigned int’, but argument 8 has type ‘OMX_U32 {aka long unsigned int}’ [-Wformat=]
2292 GST_LOG_OBJECT (self, "Matched strides - direct copy %u bytes",
2294 outbuf->omx_buf->nFilledLen);
2297 2017-03-22 17:18:09 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
2300 meson: fix logic to set HAVE_THEORA
2301 https://bugzilla.gnome.org/show_bug.cgi?id=780392
2303 2017-03-14 03:02:06 +1100 Jan Schmidt <thaytan@noraisin.net>
2305 * omx/gstomxvideoenc.c:
2306 omxvideoenc: Add an unimplemented mapping for RGBA formats
2307 Add some pixel formats mappings for 2 RGBA formats. Not yet
2308 implemented in the buffer input code though, so no effect for now.
2310 2017-03-14 03:00:49 +1100 Jan Schmidt <thaytan@noraisin.net>
2314 * omx/gstomxvideoenc.c:
2315 omxvideoenc: Add GST_OMX_HACK_HEIGHT_MULTIPLE_16 for Rpi
2316 The Raspberry Pi encoder produces corrupt output unless
2317 the input height is a multiple of 16. Add a hack that adds
2318 zero padding when needed.
2320 2017-03-14 02:42:15 +1100 Jan Schmidt <thaytan@noraisin.net>
2322 * omx/gstomxvideoenc.c:
2323 omxvideoenc: Add a mapping for OMX_COLOR_FormatYUV420PackedSemiPlanar
2326 2017-03-14 02:40:24 +1100 Jan Schmidt <thaytan@noraisin.net>
2328 * omx/gstomxvideoenc.c:
2329 omxvideoenc: Filter out unimplemented formats
2330 Don't announce pixel formats in the caps if they've not been
2333 2017-03-14 02:34:36 +1100 Jan Schmidt <thaytan@noraisin.net>
2335 * omx/gstomxvideodec.c:
2336 omxvideodec: demote ERROR message
2337 There's no need to warn about failing to negotiate EGL output
2338 - that can be perfectly normal.
2340 2017-02-24 16:00:29 +0200 Sebastian Dröge <sebastian@centricular.com>
2343 meson: Update version
2345 2017-02-24 15:38:17 +0200 Sebastian Dröge <sebastian@centricular.com>
2350 === release 1.11.2 ===
2352 2017-02-24 15:10:17 +0200 Sebastian Dröge <sebastian@centricular.com>
2361 2017-02-15 18:22:53 +0000 Tim-Philipp Müller <tim@centricular.com>
2364 meson: dist meson build files
2365 Ship meson build files in tarballs, so people who use tarballs
2366 in their builds can start playing with meson already.
2368 2017-01-13 16:23:12 +0000 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
2370 * omx/gstomxaacenc.c:
2371 omxaacenc: let encoder know about incoming rate/channels
2372 https://bugzilla.gnome.org/show_bug.cgi?id=777223
2374 2017-01-18 02:43:44 +1100 Matthew Waters <matthew@centricular.com>
2376 * config/bellagio/meson.build:
2377 * config/meson.build:
2378 * config/rpi/meson.build:
2379 * examples/egl/meson.build:
2380 * examples/meson.build:
2381 * hooks/pre-commit.hook:
2383 * meson_options.txt:
2385 build: add meson build definition
2386 Currently only been tested on the RPi within gst-build.
2388 2017-01-18 15:21:35 +1100 Matthew Waters <matthew@centricular.com>
2390 * examples/egl/testegl.c:
2391 examples/testegl: update for libgstgl changes
2393 2017-01-12 16:33:09 +0200 Sebastian Dröge <sebastian@centricular.com>
2398 === release 1.11.1 ===
2400 2017-01-12 16:26:55 +0200 Sebastian Dröge <sebastian@centricular.com>
2409 2017-01-10 15:29:08 +0000 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
2411 * omx/gstomxaudioenc.c:
2412 omxaudioenc: set base class format instead of just source pad caps
2414 2016-12-18 19:46:55 +0000 Graham Leggett <minfrin@sharp.fm>
2416 * omx/gstomxaudiodec.c:
2417 * omx/gstomxvideodec.c:
2418 omx*dec: Flush before we stop the srcpad loop
2419 Flushing could otherwise hang if output port queue of pending buffers was empty
2420 https://bugzilla.gnome.org/show_bug.cgi?id=774654
2422 2016-12-14 13:29:08 -0800 Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2425 Fix broken build due to syntax error
2426 Problem was introduced by 8716c23e2b0553db2982eb84c437f493c974385e
2428 2016-12-12 11:12:48 +0000 Graham Leggett <minfrin@sharp.fm>
2431 Prevent early EOS by resetting eos flag once GST_OMX_ACQUIRE_BUFFER_EOS is triggered
2432 https://bugzilla.gnome.org/show_bug.cgi?id=774600
2434 2016-12-12 11:09:15 +0000 Graham Leggett <minfrin@sharp.fm>
2437 Add clear debug logging on all the paths out of gst_omx_port_acquire_buffer()
2438 https://bugzilla.gnome.org/show_bug.cgi?id=774600
2440 2016-12-01 18:23:50 +0100 George Kiagiadakis <george.kiagiadakis@collabora.com>
2442 * config/rpi/gstomx.conf:
2445 Add a signals-premature-eos hack for egl_render
2446 egl_render seems to have a bug and signals EOS before it has finished
2447 pushing out all data; this hack simply makes acquire_buffer() wait
2448 a bit more before signalling EOS, in case egl_render decides to spit
2450 https://bugzilla.gnome.org/show_bug.cgi?id=741856
2452 2016-12-11 19:52:37 +0000 Graham Leggett <minfrin@sharp.fm>
2454 * omx/gstomxvideo.c:
2455 Add support for OMX_COLOR_FormatYUV420PackedSemiPlanar and OMX_COLOR_Format24bitBGR888
2456 https://bugzilla.gnome.org/show_bug.cgi?id=775959
2458 2016-12-03 08:20:46 +0100 Edward Hervey <bilboed@bilboed.com>
2461 Automatic update of common submodule
2462 From ac2f647 to 39ac2f5
2464 2016-11-26 11:27:58 +0000 Tim-Philipp Müller <tim@centricular.com>
2467 common: use https protocol for common submodule
2468 https://bugzilla.gnome.org/show_bug.cgi?id=775110
2470 2016-11-25 23:56:06 +0200 Sebastian Dröge <sebastian@centricular.com>
2473 omx: Fix compiler warning with latest clang
2474 gstomx.c:1376:42: error: implicit conversion from enumeration type 'GstOMXAcquireBufferReturn' to different enumeration type 'OMX_ERRORTYPE'
2475 (aka 'enum OMX_ERRORTYPE') [-Werror,-Wenum-conversion]
2476 g_return_val_if_fail (!port->tunneled, GST_OMX_ACQUIRE_BUFFER_ERROR);
2477 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2478 https://bugzilla.gnome.org/show_bug.cgi?id=775112
2480 2016-11-17 19:56:35 +1100 Matthew Waters <matthew@centricular.com>
2482 * omx/gstomxvideodec.c:
2483 videodecoder: remove use of EGLImage orientation
2484 New code should use GstVideoTransformationMeta
2485 (The defaults do the right thing here though).
2487 === release 1.11.0 ===
2489 2016-11-01 18:53:25 +0200 Sebastian Dröge <sebastian@centricular.com>
2494 === release 1.10.0 ===
2496 2016-11-01 18:20:48 +0200 Sebastian Dröge <sebastian@centricular.com>
2505 === release 1.9.90 ===
2507 2016-09-30 13:04:51 +0300 Sebastian Dröge <sebastian@centricular.com>
2517 2016-09-14 11:33:13 +0200 Sebastian Dröge <sebastian@centricular.com>
2520 configure: Depend on gstreamer 1.9.2.1
2522 2016-09-12 14:09:46 +0200 Sebastian Dröge <sebastian@centricular.com>
2526 omx: Also search for gstomx.conf in the autoconf --sysconfdir
2527 https://bugzilla.gnome.org/show_bug.cgi?id=770743
2529 2016-09-10 20:52:10 +1000 Jan Schmidt <jan@centricular.com>
2533 Automatic update of common submodule
2534 From b18d820 to f980fd9
2536 2016-09-10 09:58:16 +1000 Jan Schmidt <jan@centricular.com>
2540 Automatic update of common submodule
2541 From ac2f647 to b18d820
2543 2016-09-01 12:36:09 +0300 Sebastian Dröge <sebastian@centricular.com>
2548 === release 1.9.2 ===
2550 2016-09-01 12:35:58 +0300 Sebastian Dröge <sebastian@centricular.com>
2560 2016-07-11 21:15:48 +0200 Stefan Sauer <ensonic@users.sf.net>
2563 Automatic update of common submodule
2564 From ac2f647 to f49c55e
2566 2016-07-06 13:51:24 +0300 Sebastian Dröge <sebastian@centricular.com>
2571 === release 1.9.1 ===
2573 2016-07-06 13:48:45 +0300 Sebastian Dröge <sebastian@centricular.com>
2583 2016-06-29 16:37:43 +0900 Kazunori Kobayashi <kkobayas@igel.co.jp>
2585 * omx/gstomxvideodec.c:
2586 omxvideodec: Use GST_VIDEO_FRAME_PLANE_STRIDE() to get output buffer's stride
2587 GST_VIDEO_FRAME_PLANE_STRIDE() should be used to get the actual buffer stride,
2588 as reported in the buffers's GstVideoMeta, when copying data to that buffer.
2589 https://bugzilla.gnome.org/show_bug.cgi?id=768173
2591 2016-06-21 11:48:40 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
2594 Automatic update of common submodule
2595 From ac2f647 to f363b32
2597 2016-06-21 11:43:13 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
2599 * omx/gstomxaudioenc.c:
2600 omxaudioenc: implement GstPreset interface
2601 To allow user to use GstPreset to quickly save and load a set of
2603 https://bugzilla.gnome.org/show_bug.cgi?id=767907
2605 2016-06-21 11:41:15 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
2607 * omx/gstomxvideoenc.c:
2608 omxvideoenc: implement GstPreset interface
2609 To allow user to use GstPreset to quickly save and load a set of
2611 https://bugzilla.gnome.org/show_bug.cgi?id=767907
2613 2016-06-17 12:06:48 +0300 Sebastian Dröge <sebastian@centricular.com>
2617 * omx/gstomxaudiodec.c:
2618 * omx/gstomxaudioenc.c:
2619 * omx/gstomxvideo.c:
2620 * omx/gstomxvideodec.c:
2621 * omx/gstomxvideoenc.c:
2622 omx: #define OMX_SKIP64BIT on the RPi as required by their API
2623 Also add generic support for OMX_SKIP64BIT to gst-omx, in case other
2624 implementations also #define that for whatever reason.
2625 https://bugzilla.gnome.org/show_bug.cgi?id=766475
2627 2016-06-17 10:59:45 +0300 Sebastian Dröge <sebastian@centricular.com>
2629 * omx/gstomxvideodec.c:
2630 omxvideodec: Implement ::drain() virtual method
2631 https://bugzilla.gnome.org/show_bug.cgi?id=767641
2633 2016-06-04 19:31:45 +0100 Tim-Philipp Müller <tim@centricular.com>
2636 configure: remove AG_GST_PARSE_SUBSYSTEM_DISABLES
2637 This would check which subsystems are disabled in core by grepping
2638 gstconfig.h. Only problem is: gstconfig.h has moved into libdir now
2639 so we've been checking a non-existent file for a while now. The
2640 macro would just sets GST_DISABLE_* for use in configure.ac and
2641 Makefile.am, but we don't use that anywhere so just get rid of it
2642 (the one place where we use GST_DISABLE_GST_DEBUG is in a .c file
2643 which gets the define from the gstconfig.h include).
2644 https://bugzilla.gnome.org/show_bug.cgi?id=750056
2646 2016-01-20 03:10:38 +0900 Gwang Yoon Hwang <yoon@igalia.com>
2648 * examples/egl/testegl.c:
2649 * omx/gstomxvideodec.c:
2650 omxvideodec : Use gstglmemoryegl for the RPi
2651 Modified to use gstglmemoryegl to avoid texture creation/copy operations
2653 [Matthew Waters]: gst-indent the sources and port testegl to GstGLMemoryEGL
2654 https://bugzilla.gnome.org/show_bug.cgi?id=760918
2656 2016-04-14 10:04:32 +0100 Julien Isorce <j.isorce@samsung.com>
2659 Automatic update of common submodule
2660 From 6f2d209 to ac2f647
2662 2016-02-26 12:42:41 +0200 Sebastian Dröge <sebastian@centricular.com>
2665 Automatic update of common submodule
2666 From b64f03f to 6f2d209
2668 2016-02-17 20:51:03 +1100 Matthew Waters <matthew@centricular.com>
2670 * examples/egl/testegl.c:
2671 examples: update egl example for gstgl API changes
2672 https://bugzilla.gnome.org/show_bug.cgi?id=762053
2673 https://bugzilla.gnome.org/show_bug.cgi?id=753917
2675 2016-02-05 18:11:06 -0300 Thiago Santos <thiagoss@osg.samsung.com>
2679 Automatic update of common submodule
2680 From 86e4663 to b64f03f
2682 2015-12-21 00:43:49 +0100 Koop Mast <kwm@rainbow-runner.nl>
2685 configure: Make -Bsymbolic check work with clang.
2686 Update the -Bsymbolic check with the version glib has. This version
2688 https://bugzilla.gnome.org/show_bug.cgi?id=759713
2690 2015-12-07 09:11:32 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
2694 Automatic update of common submodule
2695 From b319909 to 86e4663
2697 2015-11-18 13:00:28 +0000 Enrique Ocaña González <eocanha@igalia.com>
2700 Remember the last_error after a failed set state call to avoid blocking the next get state call
2701 gst_omx_video_dec_flush() blocks forever in
2702 http://cgit.freedesktop.org/gstreamer/gst-omx/tree/omx/gstomxvideodec.c?id=9adf0ff82903cad5331e40975ae91ed5d11bc102#n2110
2703 when the previous call to gst_omx_component_set_state() fails in
2704 http://cgit.freedesktop.org/gstreamer/gst-omx/tree/omx/gstomx.c?id=9adf0ff82903cad5331e40975ae91ed5d11bc102#n827.
2705 To mitigate that, I set "last_error" to true, so the code in
2706 http://cgit.freedesktop.org/gstreamer/gst-omx/tree/omx/gstomx.c?id=9adf0ff82903cad5331e40975ae91ed5d11bc102#n862
2707 exits early and doesn't block.
2708 https://bugzilla.gnome.org/show_bug.cgi?id=758274
2710 2015-11-18 12:59:59 +0000 Enrique Ocaña González <eocanha@igalia.com>
2712 * omx/gstomxaudiodec.c:
2713 * omx/gstomxaudioenc.c:
2714 * omx/gstomxvideodec.c:
2715 * omx/gstomxvideoenc.c:
2716 Properly handle drain requests while flushing
2717 Without this commit the decoder streaming thread stops without ever attending
2718 the drain request, leaving the decoder input thread waiting forever.
2719 https://bugzilla.gnome.org/show_bug.cgi?id=758274
2721 2015-11-10 10:42:35 +0100 Nicolas Huet <nicolas.huet@parrot.com>
2724 omx: fix hacks leak on class init
2726 2015-10-21 14:37:13 +0100 Tim-Philipp Müller <tim@centricular.com>
2729 Automatic update of common submodule
2730 From b99800a to b319909
2732 2015-10-21 14:28:41 +0300 Sebastian Dröge <sebastian@centricular.com>
2735 Automatic update of common submodule
2736 From 9aed1d7 to b99800a
2738 2015-09-01 16:08:11 -0300 Thiago Santos <thiagoss@osg.samsung.com>
2740 * omx/gstomxaacdec.c:
2741 omxaacdec: Do not accept unknown layouts
2742 It was defaulting to RAW when an unknown layout was received but
2743 the caps template would actually forbid that on the caps query
2744 or accept-caps anyway.
2746 2015-09-01 08:59:54 -0300 Thiago Santos <thiagoss@osg.samsung.com>
2748 * omx/gstomxaudiodec.c:
2749 omxaudiodec: use default pad accept-caps handling
2750 Instead of the audiodecoder one. The OMX audioo decoders have their
2751 valid input in the template pad, so just check against that to
2752 avoid doing a query downstream.
2754 2015-08-28 12:57:33 -0300 Thiago Santos <thiagoss@osg.samsung.com>
2756 * omx/gstomxvideodec.c:
2757 omxvideodec: use default pad accept-caps handling
2758 Instead of the videodecoder one. The OMX video decoders have their
2759 valid input in the template pad, so just check against that to
2760 avoid doing a query downstream.
2762 2015-08-22 15:54:55 +0000 Graham Leggett <minfrin@sharp.fm>
2764 * omx/gstomxvideoenc.c:
2765 omxvideoenc: Add keyframe support for the Rpi, using OMX_IndexConfigBrcmVideoRequestIFrame
2766 https://bugzilla.gnome.org/show_bug.cgi?id=753085
2768 2015-08-20 17:20:50 +0900 Vineeth TM <vineeth.tm@samsung.com>
2770 * examples/egl/testegl.c:
2771 gst-omx: Fix memory leaks when context parse fails
2772 When g_option_context_parse fails, context and error variables are not getting free'd
2773 which results in memory leaks. Free'ing the same.
2774 And replacing g_error_free with g_clear_error, which checks if the error being passed
2775 is not NULL and sets the variable to NULL on free'ing.
2776 https://bugzilla.gnome.org/show_bug.cgi?id=753865
2778 2015-08-16 14:53:42 +0200 Philippe Normand <philn@igalia.com>
2780 * omx/gstomxh264dec.c:
2781 omxh264dec: implement is_format_change
2782 The omxvideodecoder class only checks some of the caps parameters but if
2783 other fields change such as h264 profile and/or level it wouldn't trigger a
2785 https://bugzilla.gnome.org/show_bug.cgi?id=752376
2787 2015-07-03 00:26:48 +0200 Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>
2789 * omx/gstomxvideodec.c:
2790 omxvideodec: unref allocator after getting it from allocation query
2791 Otherwise a reference will be leaked for each allocator. It only happens
2792 when target platform is Raspberry Pi and when we have GL support.
2793 https://bugzilla.gnome.org/show_bug.cgi?id=751867
2795 2015-07-03 21:59:54 +0200 Stefan Sauer <ensonic@users.sf.net>
2798 Automatic update of common submodule
2799 From f74b2df to 9aed1d7
2801 2015-06-16 17:50:14 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
2804 Automatic update of common submodule
2805 From 6015d26 to f74b2df
2807 2015-06-09 11:30:49 +0200 Edward Hervey <bilboed@bilboed.com>
2810 Automatic update of common submodule
2811 From d9a3353 to 6015d26
2813 2015-06-08 23:08:28 +0200 Stefan Sauer <ensonic@users.sf.net>
2816 Automatic update of common submodule
2817 From d37af32 to d9a3353
2819 2015-06-07 23:07:22 +0200 Stefan Sauer <ensonic@users.sf.net>
2822 Automatic update of common submodule
2823 From 21ba2e5 to d37af32
2825 2015-06-07 17:32:25 +0200 Stefan Sauer <ensonic@users.sf.net>
2828 Automatic update of common submodule
2829 From c408583 to 21ba2e5
2831 2015-06-07 17:16:43 +0200 Stefan Sauer <ensonic@users.sf.net>
2835 Automatic update of common submodule
2836 From c8fb372 to c408583
2838 2015-05-19 18:21:40 +0300 Sebastian Dröge <sebastian@centricular.com>
2840 * omx/gstomxaudiodec.c:
2841 * omx/gstomxaudiodec.h:
2842 omxaudiodec: Add an output adapter for chunking the output into codec frames
2843 Otherwise the base class will be confused.
2844 See https://bugzilla.gnome.org/show_bug.cgi?id=685730
2846 2015-04-26 18:24:13 +0100 Tim-Philipp Müller <tim@centricular.com>
2850 Remove obsolete Android build cruft
2851 This is not needed any longer.
2853 2015-04-22 10:40:22 +0200 Sebastian Dröge <sebastian@centricular.com>
2857 autotools automatically generate this, and when using different versions
2858 for autogen.sh there will always be changes to a file tracked by git.
2860 2015-04-08 15:57:59 +0100 Tim-Philipp Müller <tim@centricular.com>
2866 Add m4 directory so aclocal doesn't complain in autogen.sh
2867 Might come in handy, and these warnings seem to be
2868 fatal in some environments.
2869 You may need to git clean -x -d -f your tree before
2870 git pulling/merging.
2872 2015-04-07 22:25:57 +0100 Tim-Philipp Müller <tim@centricular.com>
2876 Update autogen.sh to latest version
2878 2015-04-03 18:58:17 +0100 Tim-Philipp Müller <tim@centricular.com>
2881 Automatic update of common submodule
2882 From bc76a8b to c8fb372
2884 2015-03-06 12:12:49 +0000 Luis de Bethencourt <luis.bg@samsung.com>
2886 * omx/gstomxaacdec.c:
2887 omxaudiodec: add comment explaining duplicate code path
2889 2015-03-06 12:09:06 +0000 Luis de Bethencourt <luis.bg@samsung.com>
2891 * omx/gstomxaacdec.c:
2892 Revert "omxaudiodec: remove duplicate code path"
2893 This reverts commit a8d26ff27a8b43f589424a59294f9057641b2a46.
2895 2015-03-06 12:03:56 +0000 Luis de Bethencourt <luis.bg@samsung.com>
2898 omx: handle both errors in the two steps of update_port_definition
2899 Also consider potential errors in the _get_parameter() in the return of the
2900 update_port_definition function.
2903 2015-03-06 10:57:53 +0000 Luis de Bethencourt <luis.bg@samsung.com>
2905 * omx/gstomxaudioenc.c:
2906 omxaudioenc: impossible if statement
2907 ret is set to GST_STATE_CHANGE_SUCCESS and never touched, so it is impossible
2908 for it to be anything else at the if check. Remove the if check.
2911 2015-03-06 10:54:43 +0000 Luis de Bethencourt <luis.bg@samsung.com>
2913 * omx/gstomxaudiodec.c:
2914 omxaudiodec: impossible if statement
2915 ret is set to GST_STATE_CHANGE_SUCCESS and never touched, so it is impossible
2916 for it to be anything else at the if check. Remove it.
2919 2015-03-06 10:50:30 +0000 Luis de Bethencourt <luis.bg@samsung.com>
2921 * omx/gstomxaacdec.c:
2922 omxaudiodec: remove duplicate code path
2924 2014-12-19 11:19:55 +0200 George Kiagiadakis <george.kiagiadakis@collabora.com>
2927 omx: call handle_messages() only once in acquire_buffer() to avoid potential deadlock
2928 There is one rare case where calling handle_messages() more than once can cause a deadlock
2929 in the video decoder element:
2930 - sink pad thread starts the src pad task (gst_omx_video_dec_loop())
2931 - _video_dec_loop() calls gst_omx_port_acquire_buffer() on dec_out_port
2932 - blocks in gst_omx_component_wait_message() releasing comp->lock and comp->messages_lock
2933 (initially, there are no buffers configured on that port, so it waits for OMX_EventPortSettingsChanged)
2934 - the sink pad thread pushes a buffer to the decoder with gst_omx_port_release_buffer()
2935 - _release_buffer() grabs comp->lock and sends the buffer to OMX, which consumes it immediately
2936 - EmptyBufferDone gets called at this point, which signals _wait_message() to unblock
2937 - the message from EmptyBufferDone is processed in gst_omx_component_handle_messages()
2938 called from gst_omx_port_release_buffer()
2939 - gst_omx_port_release_buffer releases comp->lock
2940 - the src pad thread now gets to run, grabbing comp->lock while it exits from _wait_message()
2941 - _acquire_buffer() calls the _handle_messages() on the next line after _wait_message(),
2942 which does nothing (no pending messages)
2943 - then it goes to "retry:" and calls _handle_messages() again, which also does nothing
2944 (still no pending messages)
2945 - scheduler switches to a videocore thread that calls EventHandler, informing us about the
2946 OMX_EventPortSettingsChanged event that just arrived
2947 - EventHandler graps comp->messages_lock, but not comp->lock, so it can run in parallel at
2948 this point just fine.
2949 - scheduler switches back to the src pad thread (which is in the middle of _acquire_buffer())
2950 - the next _handle_messages() which is right before if (g_queue_is_empty (&port->pending_buffers))
2951 processes the OMX_EventPortSettingsChanged
2952 - the buffer queue is still empty, so that thread blocks again in _wait_message()
2953 - the sink pad thread tries to acquire the next input port buffer
2954 - _acquire_buffer() also blocks this thread in:
2955 if (comp->pending_reconfigure_outports) { ... _wait_message() ... }
2956 - DEADLOCK. gstreamer is waiting for omx to do something, omx waits for gstreamer to do something.
2957 By removing those extra _handle_messages() calls, we can ensure that all the checks of
2958 _acquire_buffer() will re-run. In the above case, after the scheduler switches back to
2959 the middle of _acquire_buffer(), the code will enter _wait_message(), which will see that
2960 there are pending messages and will return immediately, going back to "retry:" and
2961 re-doing all the checks properly.
2962 https://bugzilla.gnome.org/show_bug.cgi?id=741854
2964 2015-02-26 09:27:44 +0900 Wonchul Lee <chul0812@gmail.com>
2967 omx: cleanup code a bit to remove else statement
2968 https://bugzilla.gnome.org/show_bug.cgi?id=745191
2970 2015-01-12 16:13:35 +0100 Stefan Sauer <ensonic@users.sf.net>
2973 Automatic update of common submodule
2974 From f2c6b95 to bc76a8b
2976 2014-12-18 10:56:15 +0100 Sebastian Dröge <sebastian@centricular.com>
2979 Automatic update of common submodule
2980 From ef1ffdc to f2c6b95
2982 2014-11-27 17:12:42 +0100 Edward Hervey <bilboed@bilboed.com>
2985 Automatic update of common submodule
2986 From 7bb2bce to ef1ffdc
2988 2014-11-13 09:55:02 +0900 Jun Ji <jun.ji@lge.com>
2992 * omx/gstomxamrdec.c:
2993 * omx/gstomxamrdec.h:
2995 https://bugzilla.gnome.org/show_bug.cgi?id=739333
2997 2014-10-27 18:00:50 +0100 Sebastian Dröge <sebastian@centricular.com>
3000 Automatic update of common submodule
3001 From 84d06cd to 7bb2bce
3003 2014-10-21 13:03:44 +0100 Tim-Philipp Müller <tim@centricular.com>
3006 Automatic update of common submodule
3007 From a8c8939 to 84d06cd
3009 2014-10-21 13:00:10 +0200 Stefan Sauer <ensonic@users.sf.net>
3012 Automatic update of common submodule
3013 From 1f5d3c3 to a8c8939
3015 2014-09-30 10:47:20 +0300 Sebastian Dröge <sebastian@centricular.com>
3017 * omx/gstomxaudiodec.c:
3018 omxaudiodec: Clean up code a bit to get rid of useless NULL checks
3020 2014-09-30 10:50:07 +0900 junji <jun.ji@lge.com>
3022 * omx/gstomxaudiodec.c:
3023 omxaudiodec: Unmap input buffers after usage
3024 https://bugzilla.gnome.org/show_bug.cgi?id=736314
3026 2014-08-31 20:30:13 +0000 Michal Lazo <michal.lazo@mdragon.org>
3028 * omx/gstomxvideoenc.c:
3029 omxvideoenc: Setup aspect ratio on RPi
3030 Needs firmware from yesterday or newer to work with all possible
3031 aspect ratios. Before that it only supported a fixed list.
3032 https://bugzilla.gnome.org/show_bug.cgi?id=732533
3034 2014-08-28 10:44:31 +0300 Sebastian Dröge <sebastian@centricular.com>
3036 * omx/gstomxaudioenc.c:
3037 omxaudioenc: Implement the hack flag GST_OMX_HACK_NO_COMPONENT_RECONFIGURE
3039 2014-08-28 10:43:22 +0300 Sebastian Dröge <sebastian@centricular.com>
3041 * omx/gstomxaudioenc.c:
3042 omxaudioenc: Use the base class' open/close vfuncs instead of calling them ourselves
3044 2014-08-26 22:13:53 -0500 Peng Liu <pengliu.mail@gmail.com>
3046 * config/rpi/gstomx.conf:
3047 * omx/gstomxvideoenc.c:
3048 omxvideoenc: Implement the hack flag GST_OMX_HACK_NO_COMPONENT_RECONFIGURE
3049 Fix a video encoder stall problem on RPi when changing the aspect ratio.
3050 https://bugzilla.gnome.org/show_bug.cgi?id=732533
3052 2014-08-14 17:36:11 +0300 Sebastian Dröge <sebastian@centricular.com>
3054 * omx/gstomxaudiodec.c:
3055 * omx/gstomxaudiodec.h:
3056 * omx/gstomxaudioenc.c:
3057 * omx/gstomxaudioenc.h:
3058 * omx/gstomxvideodec.c:
3059 * omx/gstomxvideodec.h:
3060 * omx/gstomxvideoenc.c:
3061 * omx/gstomxvideoenc.h:
3062 omx: Let base classes handle EOS
3063 https://bugzilla.gnome.org//show_bug.cgi?id=734774
3065 2014-08-14 17:33:07 +0300 Sebastian Dröge <sebastian@centricular.com>
3067 * omx/gstomxaudiodec.c:
3068 omxaudiodec: Fix flushing logic and make it more similar to the video decoder
3070 === release 1.2.0 ===
3072 2014-07-23 11:28:12 +0200 Sebastian Dröge <sebastian@centricular.com>
3082 2014-07-22 09:23:00 +0200 Sebastian Dröge <sebastian@centricular.com>
3084 * config/bellagio/gstomx.conf:
3085 * config/rpi/gstomx.conf:
3086 config: Update ranks to PRIMARY+1 to have higher preference than avdec_*
3087 See https://bugzilla.gnome.org/show_bug.cgi?id=732161
3089 2014-07-20 17:46:30 +0200 Sebastian Dröge <sebastian@centricular.com>
3091 * omx/gstomxaudiosink.c:
3092 omxaudiosink: Set port to not flushing in prepare() and keep it at flushing in unprepare()
3093 https://bugzilla.gnome.org/show_bug.cgi?id=733168
3095 2014-07-13 22:15:18 +0200 Sebastian Dröge <sebastian@centricular.com>
3097 * omx/gstomxaacdec.c:
3098 * omx/gstomxaudiodec.c:
3099 * omx/gstomxaudiodec.h:
3100 * omx/gstomxmp3dec.c:
3101 omxaudiodec: Implement setting of fallback channel positions
3103 2014-07-13 18:22:39 +0200 Sebastian Dröge <sebastian@centricular.com>
3107 * omx/gstomxaacdec.c:
3108 * omx/gstomxaacdec.h:
3109 * omx/gstomxmp3dec.c:
3110 omx: Add AAC audio decoder
3112 2014-07-02 09:22:28 +0200 Sebastian Dröge <sebastian@centricular.com>
3114 * omx/gstomxaudiodec.c:
3115 omxaudiodec: Get PCM parameters from the out port, not the in port
3117 2014-05-15 13:24:39 +0200 Sebastian Dröge <sebastian@centricular.com>
3119 * omx/gstomxaudiodec.c:
3120 omxaudiodec: Implement hack for not disabling the output port after set_format until the output format is known
3121 Needed on some OMX implementations, e.g. the one from Atmel. It does
3122 not send the settings-changed event on the output port if it is
3125 2014-05-10 23:12:54 +0200 Sebastian Dröge <sebastian@centricular.com>
3129 * omx/gstomxaudiodec.c:
3130 * omx/gstomxaudiodec.h:
3131 * omx/gstomxmp3dec.c:
3132 * omx/gstomxmp3dec.h:
3133 omx: Add audio decoder base class and a subclass for MP3
3135 2014-07-01 09:38:01 +0200 Sebastian Dröge <sebastian@centricular.com>
3139 omx: Link to gmodule-2.0-no-export for being able to use the g_module_*() API
3140 https://bugzilla.gnome.org/show_bug.cgi?id=732518
3142 2014-06-30 15:00:54 +0200 Sebastian Dröge <sebastian@centricular.com>
3144 * examples/egl/testegl.c:
3145 examples: #define GST_USE_UNSTABLE_API for libgstgl
3147 2014-06-29 19:10:19 +0200 Sebastian Dröge <sebastian@centricular.com>
3149 * omx/gstomxh264enc.c:
3150 * omx/gstomxh264enc.h:
3151 omxh264enc: Properly accumulate headers and push before the next frame
3152 Fixes output of encoding on RPi, where each header buffer (SPS and PPS)
3153 is in a separate OMX buffer.
3154 https://bugzilla.gnome.org/show_bug.cgi?id=726669
3156 2014-06-29 19:04:54 +0200 Sebastian Dröge <sebastian@centricular.com>
3158 * omx/gstomxvideoenc.c:
3159 omxvideoenc: Implement flush() instead of the deprecated reset()
3161 2014-06-25 17:14:18 +0200 Sebastian Dröge <sebastian@centricular.com>
3163 * config/rpi/gstomx.conf:
3164 rpi: It's 44100Hz, not 41400Hz
3166 2014-06-25 11:12:51 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
3169 configure.ac: require gstgl >= 1.3.3
3171 2014-04-25 13:25:05 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
3175 example: enable testegl
3176 See https://bugzilla.gnome.org/show_bug.cgi?id=728940
3178 2014-06-25 10:19:54 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
3180 * examples/egl/testegl.c:
3181 testegl: do matrix mutlplication in the shader
3182 See https://bugzilla.gnome.org/show_bug.cgi?id=728940
3184 2014-06-25 09:36:38 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
3186 * examples/egl/testegl.c:
3187 testegl: add a comment for the parse command
3188 See https://bugzilla.gnome.org/show_bug.cgi?id=728940
3190 2014-04-25 17:32:16 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
3192 * examples/egl/Makefile.am:
3193 * examples/egl/cube_texture_and_coords.h:
3194 * examples/egl/testegl.c:
3195 testegl: convert code from GLESv1 to GLESv2
3196 See https://bugzilla.gnome.org/show_bug.cgi?id=728940
3198 2014-04-25 13:21:59 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
3200 * examples/egl/Makefile.am:
3201 * examples/egl/testegl.c:
3202 testegl: port to gstgl API
3203 - append a glfilter just before fakesink
3204 So that we get gltexture or eglimages
3205 - propagate our EGLDisplay to the pipeline
3206 see GST_QUERY_CONTEXT
3207 - share our EGLContext with the iternal gl context
3208 of the pipeline, see GST_QUERY_ALLOCATION
3209 - use GstVideoGLTextureUploadMeta to upload
3210 the incoming gltexture or eglimage to our gl texture
3211 TODO: convert from GLESv1 to GLESv2
3212 See https://bugzilla.gnome.org/show_bug.cgi?id=728940
3214 2014-06-24 14:52:58 +0200 Sebastian Dröge <sebastian@centricular.com>
3216 * omx/gstomxbufferpool.c:
3217 * omx/gstomxbufferpool.h:
3218 * omx/gstomxvideodec.c:
3219 omxbufferpool: Copy buffers if the stride does not match and we can't use video meta
3220 https://bugzilla.gnome.org/show_bug.cgi?id=731672
3222 2014-06-24 14:52:43 +0200 Sebastian Dröge <sebastian@centricular.com>
3226 * omx/gstomxvp8dec.h:
3227 omx: Only include OMX_VideoExt.h conditionally
3228 It does not exist on the RPi for example.
3230 2014-06-24 13:59:44 +0200 Sebastian Dröge <sebastian@centricular.com>
3233 configure.ac: Require GStreamer core/base >= 1.2.2
3234 Needed at least for gst_video_decoder_release_frame().
3236 2014-06-24 13:02:13 +0200 Sebastian Dröge <sebastian@centricular.com>
3238 * omx/gstomxbufferpool.c:
3239 omxbufferpool: Fix format string compiler warning
3241 2014-06-22 21:11:45 +0000 Michal Lazo <xlazom00@gmail.com>
3243 * omx/gstomxbufferpool.c:
3244 omxbufferpool: Initialize debug category
3246 2014-06-24 12:42:22 +0200 Sebastian Dröge <sebastian@centricular.com>
3248 * omx/gstomxbufferpool.c:
3249 omxbufferpool: Properly convert OMX alignment to GStreamer alignment
3250 GStreamer uses a bitmask for the alignment while OMX uses the
3251 alignment itself. Let's convert.
3252 https://bugzilla.gnome.org/show_bug.cgi?id=710564
3254 2014-06-24 11:11:28 +0200 Sebastian Dröge <sebastian@centricular.com>
3256 * omx/gstomxh264enc.c:
3257 omxh264enc: Don't let baseclass finish frames for SPS/PPS buffers
3258 Otherwise we a) send them twice, and b) finish a frame for something
3259 that does not even include a frame.
3260 https://bugzilla.gnome.org/show_bug.cgi?id=726669
3262 2014-06-24 10:22:37 +0200 Sebastian Dröge <sebastian@centricular.com>
3264 * omx/gstomxvideo.h:
3265 omxvideo: Include the separate headers too for compatibility with 1.0.x
3267 2014-03-24 16:09:40 +0800 Zhao, Halley <halley.zhao@intel.com>
3270 * omx/gstomxvp8dec.h:
3271 omxvp8dec: use VP8 definition from OMX_VideoExt.h
3272 https://bugzilla.gnome.org/show_bug.cgi?id=726957
3274 2014-03-24 15:33:26 +0800 Zhao, Halley <halley.zhao@intel.com>
3277 configure: add --with-omx-header-path option for external omx headers
3278 https://bugzilla.gnome.org/show_bug.cgi?id=726957
3280 2014-06-18 23:04:33 +0200 Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>
3282 * omx/gstomxvideodec.c:
3283 omxvideodec: fix a query leak
3284 Also add a debug message if query fails.
3285 https://bugzilla.gnome.org/show_bug.cgi?id=731898
3287 2014-05-30 15:29:15 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
3289 * omx/gstomxvideodec.c:
3290 omxvideodec: release frames with old PTS to avoid memory issue
3291 Interlaced stream could make the decoder use two input frames to produce
3292 one output frame causing the gstvideodecoder frame list to grow.
3293 Assuming the video decoder output frame in display order rather than in
3294 decoding order, this commit add a way to release frames with PTS less
3295 than current output frame.
3296 https://bugzilla.gnome.org/show_bug.cgi?id=730995
3298 2013-06-27 21:59:29 +0900 Kazunori Kobayashi <kkobayas@igel.co.jp>
3301 omx: Fix a missing g_free() in error path
3302 This fixes a memory leak with g_strdup() when an error occurs.
3303 https://bugzilla.gnome.org/show_bug.cgi?id=731141
3305 2014-06-02 15:34:09 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
3307 * omx/gstomxvideodec.c:
3308 omxvideodec: add missing stream unlock in error path
3310 2014-05-31 15:12:05 +0200 Sebastian Dröge <sebastian@centricular.com>
3313 omx: Don't handle disabling/enabling ports exactly like flushing
3314 Otherwise we might abort a flush operation in another thread when
3315 enabling/disabling ports, leading to deadlocks sometimes.
3316 https://bugzilla.gnome.org/show_bug.cgi?id=730989
3318 2014-05-26 11:02:10 +0200 Sebastian Dröge <sebastian@centricular.com>
3320 * omx/gstomxvideodec.c:
3321 omxvideodec: Don't leak buffer pool config in error cases
3324 2014-05-21 10:53:43 +0200 Sebastian Dröge <sebastian@centricular.com>
3327 Automatic update of common submodule
3328 From 211fa5f to 1f5d3c3
3330 2014-05-19 09:10:07 +0200 Sebastian Dröge <sebastian@centricular.com>
3332 * omx/gstomxvideoenc.c:
3333 omxvideoenc: Don't forget to unref codec state
3336 2014-05-19 09:08:33 +0200 Sebastian Dröge <sebastian@centricular.com>
3338 * omx/gstomxvideodec.c:
3339 omxvideodec: Make output buffer pointer always initialized
3342 2014-05-19 09:06:42 +0200 Sebastian Dröge <sebastian@centricular.com>
3344 * omx/gstomxvideodec.c:
3345 omxvideodec: Check return value of gst_buffer_map()
3348 2014-05-19 09:04:09 +0200 Sebastian Dröge <sebastian@centricular.com>
3350 * omx/gstomxvideodec.c:
3351 omxvideodec: Check return value of gst_omx_port_set_enabled() for errors
3354 2014-05-19 09:01:46 +0200 Sebastian Dröge <sebastian@centricular.com>
3356 * omx/gstomxvideodec.c:
3357 omxvideodec: Check return values of buffer pool config parsing functions
3360 2014-05-19 08:48:50 +0200 Sebastian Dröge <sebastian@centricular.com>
3363 omx: Remove dead code, buf can never be NULL here as we just check for that the line above
3366 2014-05-19 08:47:36 +0200 Sebastian Dröge <sebastian@centricular.com>
3369 omx: Fix comparisons in gst_omx_state_to_string() case to actually make sense
3372 2014-05-19 08:45:10 +0200 Sebastian Dröge <sebastian@centricular.com>
3375 omx: Make sure to compare the error codes as unsigned integers so that comparisons >2**31 actually work
3378 2014-05-19 08:40:23 +0200 Sebastian Dröge <sebastian@centricular.com>
3381 omx: Fix comparisons in gst_omx_command_to_string() default cause to actually work
3384 2014-05-15 13:22:56 +0200 Sebastian Dröge <sebastian@centricular.com>
3386 * omx/gstomxaudioenc.c:
3387 omxaudioenc: Implement hack for not disabling the output port after set_format until the output format is known
3388 Needed on some OMX implementations, e.g. the one from Atmel. It does
3389 not send the settings-changed event on the output port if it is
3392 2014-05-15 13:21:07 +0200 Sebastian Dröge <sebastian@centricular.com>
3394 * omx/gstomxvideoenc.c:
3395 omxvideoenc: Implement hack for not disabling the output port after set_format until the output format is known
3396 Needed on some OMX implementations, e.g. the one from Atmel. It does
3397 not send the settings-changed event on the output port if it is
3400 2014-05-15 10:58:34 +0200 Sebastian Dröge <sebastian@centricular.com>
3404 * omx/gstomxvideodec.c:
3405 omx: Add a hack for not disabling the output port after set_format until the output format is known
3406 Needed on some OMX implementations, e.g. the one from Atmel. It does
3407 not send the settings-changed event on the output port if it is
3410 2014-05-12 12:33:32 +0200 Josep Torra <n770galaxy@gmail.com>
3412 * omx/gstomxaudiosink.c:
3413 omxaudiosink: implement _delay only in the RaspberryPI
3414 Make code implementation conditionally built for RaspberryPI because
3415 OMX_IndexConfigAudioRenderingLatency seems to be a Broadcom extension.
3416 On other targets the query position might not be accurate without
3417 implementing _delay appropriatelly.
3419 2014-05-12 08:56:15 +0200 Sebastian Dröge <sebastian@centricular.com>
3421 * omx/gstomxaudioenc.c:
3422 omxaudioenc: Correctly scale nTickCount by OMX_TICKS_PER_SECOND
3424 2014-05-10 22:48:23 +0200 Sebastian Dröge <sebastian@centricular.com>
3426 * omx/gstomxaudioenc.c:
3427 omxaudioenc: Drain encoder on NULL buffer and don't drain on flushing
3429 2014-05-10 22:47:56 +0200 Sebastian Dröge <sebastian@centricular.com>
3431 * omx/gstomxvideodec.c:
3432 omxvideodec: Set nTickCount based on the buffer's duration instead of something wrong
3434 2014-05-10 22:47:21 +0200 Sebastian Dröge <sebastian@centricular.com>
3436 * omx/gstomxvideoenc.c:
3437 omxvideoenc: Set nTickCount to the whole duration of the buffer instead of a wrong calculation
3439 2014-05-10 22:46:51 +0200 Sebastian Dröge <sebastian@centricular.com>
3441 * omx/gstomxaudiosink.c:
3442 omxaudiosink: Fix format string compiler warnings
3444 2014-04-04 14:11:58 +0200 Josep Torra <n770galaxy@gmail.com>
3446 * config/rpi/gstomx.conf:
3449 * omx/gstomxanalogaudiosink.c:
3450 * omx/gstomxanalogaudiosink.h:
3451 * omx/gstomxaudiosink.c:
3452 * omx/gstomxaudiosink.h:
3453 * omx/gstomxhdmiaudiosink.c:
3454 * omx/gstomxhdmiaudiosink.h:
3455 omxaudiosink: Implements OpenMAX based audio sinks
3456 Provides omxanalogaudiosink and omxhdmiaudiosink elements on
3458 - omxanalogaudiosink is capable to render raw mono or stereo audio
3459 through the jack output.
3460 - omxhdmiaudiosink is capable to render raw audio up to 8 channels
3461 and transmit ac3/dts(IEC 61937) through the HDMI output.
3462 - sinks provide a clock derived from rendered samples
3463 - sinks support the GstStreamVolume interface by implementing
3464 the volume and mute properties.
3465 https://bugzilla.gnome.org/show_bug.cgi?id=728962
3467 2014-05-03 10:17:35 +0200 Sebastian Dröge <sebastian@centricular.com>
3470 Automatic update of common submodule
3471 From bcb1518 to 211fa5f
3473 2014-04-29 15:16:16 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
3475 * omx/gstomxvideodec.c:
3476 omxvideodec: can negotiate caps with memory:EGLImage feature when using EGLImage allocator
3477 Previously when using gst EGLImage allocator the caps was
3478 video/x-raw, format=RGBA instead of
3479 video/x-raw(memory:EGLImage), format=RGBA
3480 Kepp previous behavior in case negotiation fails with caps feature.
3481 It means it will still have a chance to use EGLImage even if the
3482 feature is not in the caps.
3483 https://bugzilla.gnome.org/show_bug.cgi?id=729196
3485 2014-04-23 09:57:48 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
3487 * omx/gstomxvp8dec.h:
3488 omxvp8dec: fix typo in GST_TYPE_OMX_VP8_DEC define
3489 https://bugzilla.gnome.org/show_bug.cgi?id=728774
3491 2014-04-16 11:00:55 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
3493 * omx/gstomxvideodec.c:
3494 omxvideodec: don't unref caps before logging field from it
3495 https://bugzilla.gnome.org/show_bug.cgi?id=728322
3497 2014-04-15 17:30:13 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
3501 example: disable testegl since libgstegl has been removed
3502 As decided in bug #703343
3503 Not compatible with the new libgstgl API.
3504 A portage has been started, attachment 272800.
3505 https://bugzilla.gnome.org/show_bug.cgi?id=703343
3507 2014-04-15 17:11:08 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
3509 * omx/gstomxvideodec.c:
3510 omxvideodec: use new libgstgl API since libgstegl has been removed
3511 There is no point to retrieve a ref/unref type
3512 instead of an EGLDisplay directly. It's like for EGLImage.
3513 https://bugzilla.gnome.org/show_bug.cgi?id=703343
3515 2014-04-15 17:06:38 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
3518 * examples/Makefile.am:
3520 * omx/gstomxvideodec.c:
3521 configure.ac: check for libgstgl since libgstegl has been removed
3522 https://bugzilla.gnome.org/show_bug.cgi?id=703343
3524 2014-04-09 18:52:16 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
3526 * omx/gstomxbufferpool.c:
3527 * omx/gstomxvideodec.c:
3528 omxvideodec: add support of more color format
3529 Add support for ABGR, ARGB, RGB16, BGR16, YUY2, UYVY, YVYU, GRAY8 and
3532 2014-04-09 18:51:57 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
3534 * omx/gstomxvideodec.c:
3535 omxvideodec: simplify color format conversion in fill_buffer function
3537 2014-04-09 18:51:41 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
3539 * omx/gstomxbufferpool.c:
3540 omxbufferpool: make video stride and offset calculation easier
3541 It will be easier to support more color format.
3543 2014-04-09 18:51:12 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
3545 * omx/gstomxvideo.c:
3546 * omx/gstomxvideo.h:
3547 * omx/gstomxvideodec.c:
3548 omx: add an helper to convert OMX color format to GStreamer color format
3550 2014-03-10 17:43:50 +0100 Josep Torra <n770galaxy@gmail.com>
3552 * examples/egl/testegl.c:
3553 * omx/gstomxvideodec.c:
3554 omxvideodec: Implement pipeline draining to support adaptive scenarios
3555 When draining due a format change also drain
3556 the pipeline to reclaim back all buffers.
3557 https://bugzilla.gnome.org/show_bug.cgi?id=726107
3559 2014-03-27 13:57:32 +0100 Josep Torra <n770galaxy@gmail.com>
3561 * examples/egl/testegl.c:
3562 examples: fix several memory leaks in the testegl example
3563 Ensure to call to image_data_free in order to release GPU resources.
3564 Also ensure to destroy EGLImage and GLTexture from proper
3566 https://bugzilla.gnome.org/show_bug.cgi?id=726107
3568 2014-03-25 17:16:31 +0000 Julien Isorce <julien.isorce@collabora.co.uk>
3570 * examples/egl/testegl.c:
3571 examples: keep a ref on the buffer instead of the memory
3573 https://bugzilla.gnome.org/show_bug.cgi?id=726107
3575 2014-03-07 20:08:05 +0100 Josep Torra <n770galaxy@gmail.com>
3577 * omx/gstomxvideodec.c:
3578 omxvideodec: fixes race condition during seeks
3579 Acording 6.1.3 Seek Event Sequence in the OpenMAX IL 1.1.2 spec
3580 document in order to flush the component it needs to be in
3582 https://bugzilla.gnome.org/show_bug.cgi?id=726038
3584 2014-01-29 18:31:26 +0000 Julien Isorce <julien.isorce@collabora.co.uk>
3586 * omx/gstomxvideodec.c:
3587 omxvideodec: use flush because reset is deprecated
3588 https://bugzilla.gnome.org/show_bug.cgi?id=726038
3590 2014-01-27 17:03:50 +0000 Julien Isorce <julien.isorce@collabora.co.uk>
3592 * omx/gstomxvideodec.c:
3593 omxvideodec: populate the most downstream output port on reset
3594 Make seeking work when using egl_render component
3595 https://bugzilla.gnome.org/show_bug.cgi?id=726038
3597 2014-03-24 17:49:59 +0100 Josep Torra <n770galaxy@gmail.com>
3599 * omx/gstomxbufferpool.c:
3600 omxbufferpool: return buffers to the pool instead of freeing them
3601 We have to return the buffers back to the pool in when stopping to
3602 not mess with the GstBufferPool accounting.
3603 The OMX buffers will be freed when those won't be in charge of the
3604 pool in the chained up call to 'stop'.
3605 Fixes segfaults on finalize and pool not being properly deactivated.
3606 https://bugzilla.gnome.org/show_bug.cgi?id=726337
3608 2014-03-19 12:12:49 +0100 Christian König <christian.koenig@amd.com>
3610 * omx/gstomxvideodec.c:
3611 omxvideodec: add missing unlock in the error path
3612 Signed-off-by: Christian König <christian.koenig@amd.com>
3613 https://bugzilla.gnome.org/show_bug.cgi?id=726958
3615 2014-03-18 23:36:59 +0100 Michal Lazo <xlazom00@gmail.com>
3617 * omx/gstomxh264enc.c:
3618 * omx/gstomxh264enc.h:
3621 2014-03-17 09:57:11 +0000 Julien Isorce <julien.isorce@collabora.co.uk>
3623 * omx/gstomxbufferpool.c:
3624 omxbufferpool: fix memory leak if used on output port
3625 When using GstOMXBufferPool on an output port, it internally uses
3626 a GPtrArray to manage the GstBuffers instead of the default queue
3627 from the GstBufferPool base class.
3628 In this case GstBufferPool::default_free_buffer is not called when
3629 the pool is stopped. Because the queue is empty. So explicitely
3630 call gst_omx_buffer_pool_free_buffer on each buffer contained in
3632 https://bugzilla.gnome.org/show_bug.cgi?id=726337
3634 2014-03-16 17:32:05 +0100 Sebastian Dröge <sebastian@centricular.com>
3636 * omx/gstomxh264enc.c:
3637 omxh264enc: Fix compiler warnings
3639 2014-03-16 17:19:08 +0100 Michal Lazo <xlazom00@gmail.com>
3641 * omx/gstomxh264enc.c:
3642 * omx/gstomxh264enc.h:
3643 omxh264enc: IDR interval, SPS and PPS headers for rpi
3644 https://bugzilla.gnome.org/show_bug.cgi?id=720031
3646 2014-03-13 14:26:58 +0100 Christian König <christian.koenig@amd.com>
3650 * omx/gstomxvideo.c:
3651 omxvideo: fix debug category initialisation
3652 https://bugzilla.gnome.org/show_bug.cgi?id=726024
3654 2014-03-13 19:04:47 +0100 Christian König <christian.koenig@amd.com>
3656 * omx/gstomxbufferpool.h:
3657 omxbufferpool: add proper type definitions
3658 https://bugzilla.gnome.org/show_bug.cgi?id=726325
3660 2014-03-02 10:30:04 +0100 Christian König <christian.koenig@amd.com>
3663 omx: consolidate message waiting code
3664 Add a wait_message helper function and remove all those duplicated code.
3665 https://bugzilla.gnome.org/show_bug.cgi?id=725493
3667 2014-03-12 12:48:12 +0100 Sebastian Dröge <sebastian@centricular.com>
3669 * omx/gstomxvideo.c:
3670 omx: Copy old copyright notice into the new file
3672 2014-03-12 12:47:34 +0100 Sebastian Dröge <sebastian@centricular.com>
3674 * omx/gstomxvideo.c:
3675 * omx/gstomxvideo.h:
3676 * omx/gstomxvideodec.c:
3677 * omx/gstomxvideoenc.c:
3678 omx: Rename function from _4_ to _for_ for clarity
3680 2014-03-03 16:15:24 +0100 Christian König <christian.koenig@amd.com>
3683 * omx/gstomxvideo.c:
3684 * omx/gstomxvideo.h:
3685 * omx/gstomxvideodec.c:
3686 * omx/gstomxvideoenc.c:
3687 omxvideo: start sharing more code between video decoder and encoder
3688 Identical functionality spread of two different components.
3689 We can't use a common base class because of different inheritance,
3690 but let's try to share the code anyway.
3691 https://bugzilla.gnome.org/show_bug.cgi?id=726024
3693 2014-03-12 12:43:49 +0100 Sebastian Dröge <sebastian@centricular.com>
3695 * examples/egl/Makefile.am:
3696 examples: Only build RPi EGL example if RPi was chosen as target
3698 2014-03-12 12:42:23 +0100 Sebastian Dröge <sebastian@centricular.com>
3700 * omx/gstomxbufferpool.h:
3701 omxbufferpool: Fix header include guard
3703 2014-03-05 11:41:02 +0100 Christian König <christian.koenig@amd.com>
3706 * omx/gstomxbufferpool.c:
3707 * omx/gstomxbufferpool.h:
3708 * omx/gstomxvideodec.c:
3709 omxvideodec: separate the buffer pool from the decoder
3710 https://bugzilla.gnome.org/show_bug.cgi?id=726025
3712 2014-03-04 17:41:20 +0100 Christian König <christian.koenig@amd.com>
3716 * omx/gstomxvideodec.c:
3717 omx: simplify tunnel functions
3718 Specifying the component is error prone and unnecessary.
3719 https://bugzilla.gnome.org/show_bug.cgi?id=726021
3721 2014-03-07 17:12:24 +0100 Christian König <christian.koenig@amd.com>
3723 * omx/gstomxvideodec.c:
3724 omxvideodec: fix memory leak in gst_omx_video_dec_allocate_output_buffers
3725 https://bugzilla.gnome.org/show_bug.cgi?id=725907
3727 2014-03-07 13:18:49 +0100 Christian König <christian.koenig@amd.com>
3729 * omx/gstomxvideodec.c:
3730 omxvideodec: fix memory leak gst_omx_video_dec_negotiate
3731 https://bugzilla.gnome.org/show_bug.cgi?id=725907
3733 2014-03-05 18:54:05 +0100 Christian König <christian.koenig@amd.com>
3735 * omx/gstomxvideoenc.c:
3736 omxvideoenc: fix a memory leak in gst_omx_video_enc_getcaps
3737 https://bugzilla.gnome.org/show_bug.cgi?id=725826
3739 2014-03-05 17:43:33 +0100 Josep Torra <n770galaxy@gmail.com>
3742 Makefile.am: build examples
3743 There's no reason to not build the examples now that are ported to 1.x.
3745 2014-03-05 17:25:09 +0100 Josep Torra <n770galaxy@gmail.com>
3747 * examples/egl/testegl.c:
3748 examples: avoid a clashing name with the recently added GstEGLImagePool
3749 Fixes build with current master.
3751 2013-09-05 03:41:10 -0600 Christian König <christian.koenig@amd.com>
3753 * omx/gstomxvideoenc.c:
3754 omxvideoenc: simplify _find_nearest_frame
3755 Just the same as we did with the decoder. Also give the
3756 function a gst_omx_video_enc prefix to distinct it from
3757 the decoder function.
3758 https://bugzilla.gnome.org/show_bug.cgi?id=724236
3760 2013-09-05 02:23:39 -0600 Christian König <christian.koenig@amd.com>
3762 * omx/gstomxvideodec.c:
3763 omxvideodec: simplify _find_nearest_frame
3764 No need to make it more complicated and error prone than
3765 necessary. Also give the function a gst_omx_video_dec prefix
3766 to distinct it from the encoder function.
3767 https://bugzilla.gnome.org/show_bug.cgi?id=724236
3769 2013-09-05 02:05:52 -0600 Christian König <christian.koenig@amd.com>
3771 * omx/gstomxvideodec.c:
3772 omxvideodec: remove dead code
3773 This code doesn't seems to be used for quite a while,
3774 remove it before it starts to rot.
3775 https://bugzilla.gnome.org/show_bug.cgi?id=724236
3777 2014-03-01 22:28:24 +0100 Christian König <christian.koenig@amd.com>
3780 omx: fix two serious message handling bugs
3781 Waiting for the next message if we already got one
3782 is nonsense and can lead to lockups.
3783 https://bugzilla.gnome.org/show_bug.cgi?id=725468
3785 2014-03-01 18:49:41 +0100 Christian König <christian.koenig@amd.com>
3787 * omx/gstomxvideoenc.c:
3788 omxvideoenc: fix startup race condition
3789 The reset function shouldn't start the src pad
3790 loop if it wasn't started before.
3791 Signed-off-by: Christian König <christian.koenig@amd.com>
3793 2014-03-01 18:48:17 +0100 Christian König <christian.koenig@amd.com>
3795 * omx/gstomxvideodec.c:
3796 omxvideodec: fix startup race condition
3797 The reset function shouldn't start the src pad
3798 loop if it wasn't started before.
3799 Signed-off-by: Christian König <christian.koenig@amd.com>
3801 2014-02-28 09:36:13 +0100 Sebastian Dröge <sebastian@centricular.com>
3804 Automatic update of common submodule
3805 From fe1672e to bcb1518
3807 2014-02-26 22:15:00 +0100 Stefan Sauer <ensonic@users.sf.net>
3810 Automatic update of common submodule
3811 From 1a07da9 to fe1672e
3813 2014-01-30 10:45:18 +0100 Edward Hervey <bilboed@bilboed.com>
3816 Automatic update of common submodule
3817 From d48bed3 to 1a07da9
3819 2014-01-25 17:44:14 +0100 Sebastian Dröge <sebastian@centricular.com>
3821 * omx/gstomxaudioenc.c:
3822 * omx/gstomxvideodec.c:
3823 * omx/gstomxvideoenc.c:
3824 omx: Don't handle FLUSHING and NOT_LINKED as errors
3825 Also don't stop the task on NOT_LINKED. We're not a demuxer.
3827 2013-12-22 22:35:31 +0000 Tim-Philipp Müller <tim@centricular.com>
3830 Automatic update of common submodule
3831 From dbedaa0 to d48bed3
3833 2013-11-05 11:22:02 +0000 Tim-Philipp Müller <tim@centricular.com>
3836 Automatic update of common submodule
3837 From 865aa20 to dbedaa0
3839 2013-09-28 13:32:37 +0200 Josep Torra <n770galaxy@gmail.com>
3841 * examples/egl/testegl.c:
3842 examples: simplify the thread synchronization code
3843 Make everithing more simple and fix the races conditions remaining in
3844 the previous approaches.
3846 2013-09-25 19:17:17 +0200 Sebastian Dröge <slomo@circular-chaos.org>
3848 * config/rpi/gstomx.conf:
3849 rpi: The WMV/VC1 decoder can only do WMV9 and VC1, no older versions
3851 2013-09-24 18:34:42 +0100 Tim-Philipp Müller <tim@centricular.net>
3854 Automatic update of common submodule
3855 From 6b03ba7 to 865aa20
3857 2013-09-24 18:48:24 +0200 Josep Torra <n770galaxy@gmail.com>
3859 * examples/egl/testegl.c:
3860 examples: fix another race condition
3861 Fix a race condition that caused randome deadlocks on EOS.
3863 2013-09-20 17:19:53 +0200 Josep Torra <n770galaxy@gmail.com>
3865 * config/rpi/gstomx.conf:
3866 rpi: fix a copy paste error in the config file
3868 2013-09-20 17:09:52 +0200 Josep Torra <n770galaxy@gmail.com>
3870 * examples/egl/testegl.c:
3871 examples: fix a race condition when seeking
3872 Fixes a race condition that caused pipeline deadlock during seeks.
3874 2013-09-20 10:38:12 +0200 Josep Torra <n770galaxy@gmail.com>
3876 * examples/egl/testegl.c:
3877 examples: display QoS statistics
3879 2013-09-20 09:34:37 +0200 Josep Torra <n770galaxy@gmail.com>
3881 * examples/egl/testegl.c:
3882 examples: use dedicated thread for rendering the scene
3883 Produces smother animation and prevents dropping frames due busy
3886 2013-09-20 08:25:21 +0200 Josep Torra <n770galaxy@gmail.com>
3888 * examples/egl/testegl.c:
3889 examples: don't force an specific audio sink
3890 Let playbin2 choose the audiosink available in the system.
3892 2013-09-20 08:19:48 +0200 Josep Torra <n770galaxy@gmail.com>
3894 * examples/egl/Makefile.am:
3895 examples: drop remnants of initial appsink attempt
3897 2013-09-20 16:18:18 +0200 Edward Hervey <edward@collabora.com>
3900 Automatic update of common submodule
3901 From b613661 to 6b03ba7
3903 2013-09-19 18:45:36 +0100 Tim-Philipp Müller <tim@centricular.net>
3906 Automatic update of common submodule
3907 From 74a6857 to b613661
3909 2013-09-19 17:38:30 +0100 Tim-Philipp Müller <tim@centricular.net>
3912 Automatic update of common submodule
3913 From 01a7a46 to 74a6857
3915 2013-08-20 16:00:07 +0100 Tim-Philipp Müller <tim@centricular.net>
3918 * omx/gstomxvideodec.c:
3919 omx: don't use the 'z' modifier to print size_t
3920 gcc will warn in some cases even if the size of the type
3921 is exactly that of size_t on the platform.
3922 https://bugzilla.gnome.org/show_bug.cgi?id=699008
3924 2013-07-01 15:48:47 +0200 Roman Arutyunyan <arutyunyan.roman@gmail.com>
3926 * omx/gstomxvideoenc.c:
3927 gstomxvideoenc: Set bitrate in setcaps
3928 Otherwise it gets lost whenever we configure new caps
3929 https://bugzilla.gnome.org/show_bug.cgi?id=698049
3931 2013-06-30 18:17:05 +0700 Ilya Smelykh <ilya@videoexpertsgroup.com>
3933 * examples/egl/testegl.c:
3934 examples: enable audio in testegl example
3936 2013-06-12 09:38:22 +0200 Sebastian Dröge <slomo@circular-chaos.org>
3939 configure: Allow build without gstreamer-egl
3941 2013-06-07 12:39:18 +0700 Ilya Smelykh <ilya@videoexpertsgroup.com>
3943 * examples/egl/Makefile.am:
3944 * examples/egl/testegl.c:
3945 examples: testegl example port to 1.x
3946 https://bugzilla.gnome.org/show_bug.cgi?id=701706
3948 2013-06-05 15:17:16 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3951 Automatic update of common submodule
3952 From 098c0d7 to 01a7a46
3954 2013-05-20 12:06:34 +0200 Josep Torra <n770galaxy@gmail.com>
3956 * omx/gstomxaudioenc.c:
3957 * omx/gstomxvideodec.c:
3958 * omx/gstomxvideoenc.c:
3959 omx: Take lock on EOS to update the flow return value
3960 Fixes "GThread-ERROR **: file gthread-posix.c: line 171
3961 (g_mutex_free_posix_impl): error 'Device or resource busy' during
3962 'pthread_mutex_destroy ((pthread_mutex_t *) mutex)'" in _finalize.
3964 2013-05-15 10:54:12 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3967 Automatic update of common submodule
3968 From 5edcd85 to 098c0d7
3970 2013-04-11 17:35:19 +0200 Josep Torra <n770galaxy@gmail.com>
3974 * examples/Makefile.am:
3975 * examples/egl/Makefile.am:
3976 * examples/egl/cube_texture_and_coords.h:
3977 * examples/egl/testegl.c:
3978 examples: add an example aplication based OpenGL ES + EGL
3979 Application that shows how to integrate playbin with an OpenGL ES
3980 scene through EGL. Renders a video on the surfaces of an animated cube.
3981 The code is not ported to 1.x so it's not built by default.
3983 2013-05-10 12:25:07 +0200 Josep Torra <n770galaxy@gmail.com>
3985 * omx/gstomxvideodec.c:
3986 omxvideodec: Redesign video size change reconfiguration code
3987 Ensure stop the decoder before clossing the tunnel.
3989 2013-05-06 16:25:27 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3992 Makefile.am: Add -I common/m4
3993 This allows autoreconf to work correctly and automatic regeneration
3994 of autotools files if something changed.
3996 2013-05-06 19:03:59 +0530 jitendra <jvarshney20@gmail.com>
4000 * omx/gstomxaudioenc.c:
4001 * omx/gstomxvideodec.c:
4002 * omx/gstomxvideoenc.c:
4003 omx: Add pads based on element type
4004 This allows to later add sources and sink that only have a srcpad
4006 https://bugzilla.gnome.org/show_bug.cgi?id=699754
4008 2013-04-27 02:50:25 +0200 Carlos Rafael Giani <dv@pseudoterminal.org>
4011 omx: fixed type error in printf call
4013 https://bugzilla.gnome.org/show_bug.cgi?id=699008
4015 2013-04-08 17:26:16 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
4019 * omx/gstomxvideodec.c:
4020 Check for gstreamer-egl
4021 And don't use if not available.
4022 https://bugzilla.gnome.org/show_bug.cgi?id=697574
4024 2013-04-23 09:53:18 +0100 Tim-Philipp Müller <tim@centricular.net>
4027 configure: error out if no OMX target has been set explicitly with --with-omx-target=x
4028 Avoids people building for e.g. the Raspberry Pi and then wondering
4029 why things don't work as expected (since structs are packed differently
4032 2013-04-22 23:55:03 +0100 Tim-Philipp Müller <tim@centricular.net>
4035 Automatic update of common submodule
4036 From 3cb3d3c to 5edcd85
4038 2013-04-18 22:07:28 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
4041 * omx/gstomxaudioenc.c:
4042 * omx/gstomxh263enc.c:
4043 * omx/gstomxh264enc.c:
4044 * omx/gstomxmpeg4videoenc.c:
4045 * omx/gstomxvideodec.c:
4046 * omx/gstomxvideoenc.c:
4047 omx: more printf format fixes
4048 Fix printf formats again, so that gst-omx compiles warning-
4049 free on the Raspberry Pi as well. Unfortunately OMX_UINT32
4050 maybe be typedefed to uint32_t or unsigned long, which
4051 doesn't work well with our debugging printf format strings,
4052 so just use %u for those and cast to guint.
4054 2013-04-18 16:40:06 +0200 Josep Torra <n770galaxy@gmail.com>
4057 omx: fixes unused variable 'comp' when GStreamer is built without debug
4059 2013-04-18 16:03:56 +0200 Josep Torra <n770galaxy@gmail.com>
4061 * omx/gstomxvideodec.c:
4062 omxvideodec: don't use 'self->dec_out_port' anymore and use just 'port'
4063 Fixes some criticals.
4065 2013-04-18 15:21:32 +0200 Josep Torra <n770galaxy@gmail.com>
4067 * omx/gstomxvideodec.c:
4068 omxvideodec: fixes 'port' may be used uninitialized in this function
4070 2013-04-18 12:03:31 +0200 Josep Torra <n770galaxy@gmail.com>
4072 * omx/gstomxvideodec.c:
4073 omxvideodec: silence warnings building for RPI related to 'vcos_*'
4075 2013-04-18 11:19:52 +0200 Josep Torra <n770galaxy@gmail.com>
4077 * omx/gstomxvideodec.c:
4078 omxvideodec: Use new type from libgstvideo
4080 2013-04-16 14:50:49 +0530 jitendra <jvarshney20@gmail.com>
4082 * omx/gstomxaudioenc.c:
4083 * omx/gstomxvideodec.c:
4084 * omx/gstomxvideoenc.c:
4085 omx: Disable output port before transition to idle state
4086 https://bugzilla.gnome.org/show_bug.cgi?id=698109
4088 2012-10-24 12:19:41 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4091 gst: Add better support for static plugins
4093 2013-04-14 17:57:34 +0100 Tim-Philipp Müller <tim@centricular.net>
4096 Automatic update of common submodule
4097 From aed87ae to 3cb3d3c
4099 2013-04-12 17:58:30 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
4102 configure: add --disable-fatal-warnings for disabling -Werror
4104 2013-04-09 21:02:09 +0200 Stefan Sauer <ensonic@users.sf.net>
4107 Automatic update of common submodule
4108 From 04c7a1e to aed87ae
4110 2013-04-08 17:02:32 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
4113 * omx/gstomxaudioenc.c:
4114 * omx/gstomxh263enc.c:
4115 * omx/gstomxh264enc.c:
4116 * omx/gstomxmpeg4videoenc.c:
4117 * omx/gstomxvideodec.c:
4118 * omx/gstomxvideoenc.c:
4119 omx: fix printf formats in debug messages
4120 OMX_U32 is typedefed to an unsigned long,
4121 OMX_TICKS to a 64-bit integer.
4123 2013-04-08 16:52:19 +0200 Josep Torra <n770galaxy@gmail.com>
4125 * omx/gstomxvideodec.c:
4126 omxvideodec: use the correct printf format in a debug message
4128 2013-04-08 16:31:33 +0200 Josep Torra <n770galaxy@gmail.com>
4130 * omx/gstomxvideodec.c:
4131 omxvideodec: use the correct OMX_IndexParam value
4132 Fixes playback is not smooth in the EGL path.
4134 2013-04-05 13:45:24 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4136 * omx/gstomxvideodec.c:
4137 omxvideodec: Don't use API that is not in master yet
4138 It's not really needed here yet, will be needed in future versions
4140 2013-02-25 11:55:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4146 * omx/gstomxvideodec.c:
4147 * omx/gstomxvideodec.h:
4148 omxvideodec: Add support for egl_render on RPi
4150 2013-03-22 19:26:54 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
4155 2013-03-22 19:23:14 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
4157 * omx/gstomxh263enc.c:
4158 * omx/gstomxh264enc.c:
4159 * omx/gstomxmpeg4videoenc.c:
4160 omx: fix compiler warnings when compiling with -DG_DISABLE_ASSERT
4161 As we do for releases. Fixes 'variable may be used uninitialized'
4164 === release 1.0.0 ===
4166 2013-03-22 17:16:33 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4177 2013-03-19 16:40:09 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
4179 * omx/gstomxtheoradec.h:
4180 * omx/gstomxvp8dec.h:
4181 omx: fix typo in copyright headers
4183 2013-03-19 13:46:33 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4185 * config/rpi/gstomx.conf:
4186 rpi: Fix commit that added the VC1 decoder
4188 2013-03-19 13:27:35 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4190 * config/rpi/gstomx.conf:
4191 * omx/gstomxh263dec.c:
4192 * omx/gstomxh264dec.c:
4193 * omx/gstomxmjpegdec.c:
4194 * omx/gstomxmpeg2videodec.c:
4195 * omx/gstomxmpeg4videodec.c:
4196 * omx/gstomxtheoradec.c:
4197 * omx/gstomxvideodec.c:
4198 * omx/gstomxvp8dec.c:
4199 * omx/gstomxwmvdec.c:
4200 omx: Add more constraints to the default sink template caps
4202 2013-03-19 13:10:39 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4204 * config/rpi/gstomx.conf:
4205 rpi: Add VC1/WMV3 decoder
4206 WMV2 and WMV1 (aka WMV 1-8) are not supported by RPi.
4208 2013-03-19 12:59:20 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4210 * config/rpi/gstomx.conf:
4211 rpi: Add MJPEG decoder
4213 2013-03-19 12:56:50 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4215 * config/rpi/gstomx.conf:
4216 rpi: Add VP8 decoder
4218 2013-03-19 12:55:09 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4220 * omx/gstomxvideodec.c:
4221 omxvideodec: Set ENDOFFRAME flag for the end of frames
4223 2013-03-19 12:28:50 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4225 * config/rpi/gstomx.conf:
4226 rpi: Add Theora decoder to the config
4228 2013-03-19 09:36:18 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4233 * omx/gstomxtheoradec.c:
4234 * omx/gstomxtheoradec.h:
4235 omx: Add Theora decoder
4237 2013-03-18 16:43:24 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4240 omx: Remove additional comma
4242 2013-03-18 16:34:21 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4244 * config/rpi/gstomx.conf:
4247 * omx/gstomxmpeg2dec.h:
4248 * omx/gstomxmpeg2videodec.c:
4249 * omx/gstomxmpeg2videodec.h:
4250 omx: Rename MPEG2 decoder for consistency everywhere
4252 2013-03-18 16:30:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4256 * omx/gstomxmjpegdec.c:
4257 * omx/gstomxmjpegdec.h:
4258 omx: Add MJPEG decoder support
4260 2013-03-18 16:06:54 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4265 * omx/gstomxvp8dec.c:
4266 * omx/gstomxvp8dec.h:
4267 omx: Add VP8 decoder support
4269 2013-03-18 15:44:23 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4271 * config/rpi/gstomx.conf:
4272 rpi: Add h263 decoder and rename MPEG2 decoder for consistency
4274 2013-03-16 13:20:27 +0000 Tim-Philipp Müller <tim@centricular.net>
4276 * omx/gstomxmpeg2dec.c:
4277 omxmpeg2dec: mpeg-2 decoder should be able to handle mpeg-1 too
4278 https://bugzilla.gnome.org/show_bug.cgi?id=695879
4280 2013-03-16 10:13:06 +0100 Josep Torra <n770galaxy@gmail.com>
4283 omx: minor stylistic change for consistency with other similar code
4285 2013-03-16 10:00:24 +0100 Josep Torra <n770galaxy@gmail.com>
4287 * omx/gstomxaudioenc.c:
4288 * omx/gstomxvideodec.c:
4289 * omx/gstomxvideoenc.c:
4290 omx: Clarify that loop task is also paused in EOS
4292 2013-03-16 09:59:01 +0100 Josep Torra <n770galaxy@gmail.com>
4294 * omx/gstomxvideoenc.c:
4295 omxvideoenec: Don't forget propagate flow return value upstream
4297 2013-03-15 13:16:39 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
4300 omx: improve debug logging some more
4302 2013-03-15 14:09:45 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4304 * omx/gstomxvideodec.c:
4305 omxvideodec: Make sure that the first frame we pass to OpenMAX is a sync frame
4307 2013-03-15 11:46:34 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4309 * omx/gstomxaudioenc.c:
4310 * omx/gstomxvideodec.c:
4311 * omx/gstomxvideoenc.c:
4312 omx: Stop output port task after draining
4314 2013-03-15 10:58:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4317 omx: Reset EOS flag in more places
4319 2013-03-15 10:38:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4321 * omx/gstomxvideodec.c:
4322 omxvideodec: Deallocate output buffers with the right function
4324 2013-03-15 01:06:05 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
4328 omx: log commands as strings
4329 Makes logs easier to read.
4331 2013-03-15 00:47:47 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
4335 omx: log states as strings
4337 2013-03-15 00:28:02 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
4341 omx: log component name in debug messages
4342 Useful when we have more different components
4343 active at the same time.
4345 2013-03-15 09:51:42 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4347 * omx/gstomxvideodec.c:
4348 omxvideodec: Don't interpolate timestamps
4349 We will get exactly one frame per input buffer and assigning
4350 timestamps between frames if more than one OMX buffer is required
4351 per frame easily confuses timestamp tracking in OMX.
4353 2013-03-15 09:32:42 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4355 * omx/gstomxvideodec.c:
4356 omxvideodec: Give the codec_data the timestamp of the first frame and no duration
4358 2013-03-14 17:31:17 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4360 * config/rpi/gstomx.conf:
4361 omx: The MPEG4 encoder is not available on RPi and probably never will
4363 2013-03-14 17:26:30 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4366 omx: Reset some more buffer fields as required
4368 2013-03-14 17:01:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4370 * config/rpi/gstomx.conf:
4372 omx: The hack to disable usage of EOS buffers is not necessary anymore on RPi
4374 2013-03-14 17:00:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4377 omx: Reset the flags for output ports when releasing a buffer, not for input ports
4379 2013-03-14 15:03:02 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4381 * omx/gstomxh263enc.c:
4382 * omx/gstomxh264enc.c:
4383 * omx/gstomxmpeg4videoenc.c:
4384 omx: Only unref caps after usage of its fields
4386 2013-03-14 14:51:32 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4388 * omx/gstomxvideodec.c:
4389 omxvideodec: Simplify bufferpool implementation
4391 2013-03-13 13:23:35 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4393 * omx/gstomxvideodec.c:
4394 omxvideodec: Improve min/max buffer counts handling
4396 2013-03-14 12:49:42 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4400 * omx/gstomxaudioenc.c:
4401 * omx/gstomxvideodec.c:
4402 * omx/gstomxvideoenc.c:
4403 omx: Handle the OMX_EventBufferFlag to detect EOS too
4405 2013-03-13 10:29:23 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4409 omx: Mark OpenMAX buffers as EGLImage if they contain one
4410 Needs special handling in some places, e.g. because nFilledLen
4413 2013-03-13 10:21:49 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4415 * omx/gstomxvideoenc.c:
4416 omxvideoenc: Properly check the nVersion field
4418 2013-03-13 09:34:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4420 * omx/gstomxvideoenc.c:
4421 omxvideoenc: RPi returns garbage for OMX_IndexParamVideoBitrate, work around that
4423 2013-03-12 20:02:53 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4425 * omx/gstomxvideodec.c:
4426 omxvideodec: Make sure to always get the right buffer
4428 2013-03-12 19:35:39 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4430 * omx/gstomxvideodec.c:
4431 omxvideodec: Make sure the buffer is released to the pool if it's not the one we wanted
4433 2013-03-12 19:17:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4435 * omx/gstomxvideodec.c:
4436 omxvideodec: Drop too late frames instead of finishing them
4438 2013-03-12 19:16:46 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4440 * omx/gstomxvideodec.c:
4441 omx: Release buffers to the correct port
4443 2013-03-13 09:37:02 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4446 omx: Always load the OpenMAX IL cores with G_MODULE_BIND_LOCAL
4448 2013-03-12 18:20:22 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4451 omx: Lazy-load symbols of libbcm_host.so
4452 It exports eglIntOpenMAXILDoneMarker(), which is also
4453 exported by libopenmaxil.so... but we need the version
4454 from libopenmaxil.so as the other one is just a stub.
4456 2013-03-11 13:59:15 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4458 * omx/gstomxaacenc.c:
4459 * omx/gstomxh263enc.c:
4460 * omx/gstomxmpeg4videoenc.c:
4461 omx: Don't set profile/level in other encoders if downstream caps don't specify any
4463 2013-03-11 13:49:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4465 * omx/gstomxh264enc.c:
4466 omxh264enc: If caps specify no profile/level use the component's defaults
4468 2013-03-11 13:45:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4470 * omx/gstomxvideoenc.c:
4471 omxvideoenc: Always allocate output buffers from the loop function
4473 2013-03-11 13:12:57 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4475 * omx/gstomxh264enc.c:
4476 omxh264enc: The h264 encoders are supposed to output byte-stream/au
4478 2013-03-11 11:47:42 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4480 * omx/gstomxvideoenc.c:
4481 omxvideoenc: Wait until the Executing state is reached before passing buffers to the component
4483 2013-03-11 10:39:25 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4485 * omx/gstomxvideodec.c:
4486 omxvideodec: Don't provide buffers to downstream
4487 This only works reliable if we have a way to tell downstream to
4488 release all our buffers for reconfiguration.
4490 2013-03-11 10:29:44 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4492 * omx/gstomxaudioenc.c:
4493 omxaudioenc: Disable output port when setting a new format
4495 2013-03-11 10:29:30 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4497 * omx/gstomxvideoenc.c:
4498 omxvideoenc: Disable output port when setting a new format
4500 2013-03-11 10:22:07 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4502 * omx/gstomxvideodec.c:
4503 omxvideodec: Disable output port when setting a new format
4504 Based on a patch by Josep Torra <n770galaxy@gmail.com>
4506 2013-03-11 10:04:10 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4508 * omx/gstomxaudioenc.c:
4509 * omx/gstomxvideodec.c:
4510 * omx/gstomxvideoenc.c:
4511 omx: Catch errors when releasing buffers to a port and handle them
4513 2013-03-10 12:09:23 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4515 * omx/gstomxvideoenc.c:
4516 omxvideoenc: Use the correct video codec state when filling an input buffer
4518 2013-03-10 12:05:50 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4520 * omx/gstomxvideoenc.c:
4521 omxvideoenc: Store correct input state
4523 2013-03-10 11:27:34 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4525 * omx/gstomxvideoenc.c:
4526 omxvideoenc: Allocate output buffers as early as possible
4528 2013-03-10 11:01:57 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4531 omx: Log unknown events
4533 2013-03-09 14:14:40 +0100 Josep Torra <n770galaxy@gmail.com>
4535 * omx/gstomxaudioenc.c:
4536 * omx/gstomxvideodec.c:
4537 * omx/gstomxvideoenc.c:
4538 omx: Fix deadlock in encoders and add explainatory comments.
4540 2013-03-09 13:27:08 +0100 Josep Torra <n770galaxy@gmail.com>
4542 * omx/gstomxvideodec.c:
4543 omxvideodec: fix printf format identifier
4545 2013-03-09 13:07:59 +0100 Josep Torra <n770galaxy@gmail.com>
4547 * omx/gstomxvideodec.c:
4548 omx: Minor changes on debuging info
4550 2013-03-09 13:00:33 +0100 Josep Torra <n770galaxy@gmail.com>
4552 * omx/gstomxvideodec.c:
4553 omxvideodec: avoid a deadlock
4555 2013-03-08 15:56:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4557 * omx/gstomxvideodec.c:
4558 omxvideodec: Don't forget to populate output port
4560 2013-03-08 15:11:27 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4562 * omx/gstomxaudioenc.c:
4563 * omx/gstomxvideodec.c:
4564 * omx/gstomxvideoenc.c:
4565 omx: Flush and stop srcpad when configuring new caps
4567 2013-03-07 17:40:21 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4569 * config/rpi/gstomx.conf:
4571 Revert "omx: use no-component-reconfigure hack on the Raspberry PI"
4572 This reverts commit e123b2089f69a413241f30a2428ea6edd8f231e7.
4573 It's not required anymore after the fix from the last commit.
4575 2013-03-07 17:38:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4577 * omx/gstomxvideodec.c:
4578 omxvideodec: Only negotiate a color format with downstream on the initial caps
4580 2013-03-07 17:29:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4582 * omx/gstomxvideodec.c:
4583 omxvideodec: Make sure the output port is disabled while we allocate buffers
4585 2013-03-07 17:27:05 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4588 omx: Also wait for disabled output ports to be reconfigured
4590 2013-03-07 14:10:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4592 * omx/gstomxvideodec.c:
4593 * omx/gstomxvideodec.h:
4594 omxvideodec: Add buffer pool for sharing OpenMAX memory with downstream
4596 2013-03-07 11:11:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4600 * omx/gstomxaudioenc.c:
4601 * omx/gstomxvideodec.c:
4602 * omx/gstomxvideoenc.c:
4603 omx: Add timeout to the flush operation and move buffer populating to a separate function
4605 2013-03-06 17:33:23 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4607 * config/rpi/gstomx.conf:
4610 omx: Remove min buffer count hack for RPi again
4611 It's not necessary anymore
4613 2013-03-06 17:05:51 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4617 * omx/gstomxaudioenc.c:
4618 * omx/gstomxvideodec.c:
4619 * omx/gstomxvideoenc.c:
4620 omx: Do number of buffers configuration explicitely
4622 2013-03-07 11:24:54 +0100 Josep Torra <n770galaxy@gmail.com>
4624 * omx/gstomxvideodec.c:
4625 omxvideodec: fixes reconfiguration
4626 Avoid having fixed fields from previous caps on reconfiguration.
4628 2013-03-07 11:02:39 +0100 Josep Torra <n770galaxy@gmail.com>
4630 * config/rpi/gstomx.conf:
4632 omx: use no-component-reconfigure hack on the Raspberry PI
4634 2013-03-07 00:03:28 +0000 Tim-Philipp Müller <tim@centricular.net>
4637 Automatic update of common submodule
4638 From 2de221c to 04c7a1e
4640 2013-03-01 15:32:47 +0100 Josep Torra <n770galaxy@gmail.com>
4642 * omx/gstomxvideoenc.h:
4643 omxvideoenc: drop unused data member
4645 2013-03-01 12:23:54 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4647 * omx/gstomxh263enc.c:
4648 * omx/gstomxh264enc.c:
4649 * omx/gstomxmpeg4videoenc.c:
4650 omxvideoenc: And set it actually on the right port
4652 2013-03-01 12:18:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4654 * omx/gstomxh263enc.c:
4655 * omx/gstomxh264enc.c:
4656 * omx/gstomxmpeg4videoenc.c:
4657 omxvideoenc: Set the coding type in the subclasses to the specific codec
4659 2013-03-01 11:49:53 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4661 * omx/gstomxvideoenc.c:
4662 omxvideoenc: gst_omx_port_update_port_definition() returns a OMX_ERRORTYPE, not a gboolean
4664 2013-03-01 11:44:17 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4666 * omx/gstomxvideodec.c:
4667 * omx/gstomxvideoenc.c:
4668 omxvideo{dec,enc}: Don't use the input state if it wasn't set yet
4670 2013-03-01 11:25:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4672 * omx/gstomxaudioenc.c:
4673 omxaudioenc: Only enable the output port after we know the output format
4675 2013-03-01 11:24:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4677 * omx/gstomxvideoenc.c:
4678 omxvideoenc: Only enable the output port after we know the output format
4680 2013-02-28 17:02:31 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4682 * omx/gstomxvideodec.c:
4683 omxvideodec: Only enable the output port after we know the output format
4685 2013-03-01 11:18:18 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4689 omx: Handle errors more gracefully
4691 2013-02-28 15:48:53 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4695 * omx/gstomxaudioenc.c:
4696 * omx/gstomxh263dec.c:
4697 * omx/gstomxh264dec.c:
4698 * omx/gstomxmpeg2dec.c:
4699 * omx/gstomxmpeg4videodec.c:
4700 * omx/gstomxvideodec.c:
4701 * omx/gstomxwmvdec.c:
4702 omx: Return the OMX_ERRORTYPE from gst_omx_port_update_port_definition
4704 2013-02-28 15:37:53 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4707 omx: Return port definition update errors
4709 2013-02-28 13:57:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4711 * config/rpi/gstomx.conf:
4714 omx: Add hack for RPi for the minimum number of buffers required for a port
4715 The value in the port definition is invalid and the initial actual
4716 buffer count should be used.
4718 2013-02-28 13:26:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4721 omx: Always tell the component about the right number of buffers that we're going to allocate
4723 2013-02-28 13:07:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4726 omx: Invert assertion to let it express what was intended
4728 2013-02-28 11:19:07 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4732 * omx/gstomxaudioenc.c:
4733 * omx/gstomxvideodec.c:
4734 * omx/gstomxvideoenc.c:
4735 omx: Add API for allocating a specific number of buffers and using EGLImages or buffers allocated elsewhere
4737 2013-02-27 16:55:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4739 * omx/gstomxaudioenc.c:
4740 * omx/gstomxvideodec.c:
4741 * omx/gstomxvideoenc.c:
4742 omx: Refactor code flow a bit if output port settings have changed
4744 2013-02-27 15:49:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4748 * omx/gstomxaudioenc.c:
4749 * omx/gstomxvideodec.c:
4750 * omx/gstomxvideoenc.c:
4751 omx: Clean up port settings change handling
4753 2013-02-27 11:30:14 +0100 Josep Torra <n770galaxy@gmail.com>
4755 * omx/gstomxvideodec.c:
4756 omxvideodec: initialize param structure before using it
4758 2013-02-27 10:21:39 +0100 Josep Torra <n770galaxy@gmail.com>
4760 * omx/gstomxvideoenc.c:
4761 omxvideoenc: prevent a NULL pointer access
4763 2013-02-26 17:25:49 +0100 Josep Torra <n770galaxy@gmail.com>
4765 * omx/gstomxvideodec.c:
4766 omxvideodec: prevent a NULL pointer access
4768 2013-02-25 13:11:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4771 omx: Fix deadlock during reconfiguration
4773 2013-02-25 12:38:27 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4776 * omx/gstomxaudioenc.c:
4777 * omx/gstomxvideodec.c:
4778 * omx/gstomxvideoenc.c:
4779 omx: Auto-detect the port indizes if possible
4781 2013-02-25 11:42:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4783 * omx/gstomxvideodec.c:
4784 * omx/gstomxvideoenc.c:
4785 omx: Refactor querying of component supported caps into its own function
4787 2013-02-25 10:41:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4791 * omx/gstomxaudioenc.c:
4792 * omx/gstomxvideodec.c:
4793 * omx/gstomxvideoenc.c:
4794 omx: Refactor waiting for buffers to be released by the component to a separate function
4796 2013-01-11 17:44:13 +0000 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4800 omx: Add methods to set up and close a tunnel between components
4802 2013-02-25 09:15:53 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4804 * omx/gstomxaacenc.c:
4805 * omx/gstomxaudioenc.c:
4806 * omx/gstomxaudioenc.h:
4807 omxaudioenc: Rename component variable
4809 2013-02-25 09:15:46 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4811 * omx/gstomxh263enc.c:
4812 * omx/gstomxh264enc.c:
4813 * omx/gstomxmpeg4videoenc.c:
4814 * omx/gstomxvideoenc.c:
4815 * omx/gstomxvideoenc.h:
4816 omxvideoenc: Rename component variable
4818 2013-02-25 09:12:22 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4820 * omx/gstomxvideodec.c:
4821 * omx/gstomxvideodec.h:
4822 omxvideodec: Rename component variable
4824 2013-02-22 16:27:33 +0100 Josep Torra <n770galaxy@gmail.com>
4826 * omx/gstomxvideoenc.c:
4827 omxvideoenc: remove duplicated line
4829 2013-02-22 10:42:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4832 Retry loading libbcm_host.so without an absolute path if that failed
4834 2013-02-21 20:32:42 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4836 * config/bellagio/Makefile.am:
4837 Add missing file from last commit
4839 2013-02-21 11:01:28 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4841 * config/Makefile.am:
4842 * config/bellagio/gstomx.conf:
4845 Add OpenMAX IL target for Bellagio
4846 Not tested since a very long time though.
4848 2013-02-21 10:59:29 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4852 Allow using external OpenMAX IL headers
4854 2013-02-21 10:14:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4859 2013-02-21 10:13:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4861 * config/Makefile.am:
4862 * config/rpi/Makefile.am:
4863 * config/rpi/gstomx.conf:
4865 Install the RPI config when the RPI target is selected
4867 2013-02-21 10:08:07 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4870 Set default hacks for the RPI target and always initialize bcm_host
4872 2013-02-21 10:05:37 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4875 Add configure parameter for setting the OpenMAX IL target
4877 2013-02-12 11:55:39 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4880 omx: Add FIXME for the future
4882 2013-02-12 11:49:21 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4886 * omx/gstomxaudioenc.c:
4887 * omx/gstomxaudioenc.h:
4888 * omx/gstomxvideodec.c:
4889 * omx/gstomxvideodec.h:
4890 * omx/gstomxvideoenc.c:
4891 * omx/gstomxvideoenc.h:
4892 omx: Some minor refactoring and cleanup
4894 2013-02-12 11:45:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4897 omx: Don't access the port's buffers array if it wasn't allocated yet
4899 2013-02-12 11:44:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4902 omx: Mark an array as const
4904 2013-02-12 11:41:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4908 * omx/gstomxaudioenc.c:
4909 * omx/gstomxvideodec.c:
4910 * omx/gstomxvideoenc.c:
4911 omx: Split enabling/disabling of port into sending the command and waiting for it
4912 This allows to do anything necessary after sending the command to actually let it finish
4914 2013-02-12 11:37:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4917 omx: Flushing is also allowed in Paused state
4919 2013-02-12 11:28:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4921 * omx/gstomxvideoenc.c:
4922 omxvideoenc: Set stride, slice height and buffer size
4924 2013-02-12 11:09:30 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4926 * config/raspberry-pi.conf:
4927 config: Add h264 and mpeg2 encoders to the raspberry pi config
4928 Not completely working yet though.
4930 2013-02-12 11:03:32 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4932 * omx/gstomxvideoenc.c:
4933 omxvideoenc: Properly negotiate OMX color format with the component
4935 2013-02-12 10:53:24 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4937 * omx/gstomxvideoenc.c:
4938 omxvideoenc: Implement getcaps() vfunc
4940 2013-01-29 21:32:53 +0000 Tim-Philipp Müller <tim@centricular.net>
4943 configure: use 1.0 gstconfig.h to detect disabled subsystems
4944 Update unused configure check for GStreamer core subsystem
4945 features from 0.10 to 1.0.
4947 2013-01-28 20:44:41 +0100 Stefan Sauer <ensonic@users.sf.net>
4950 Automatic update of common submodule
4951 From a942293 to 2de221c
4953 2013-01-24 14:02:36 +0100 Julian Scheel <julian@jusst.de>
4955 * config/raspberry-pi.conf:
4958 * omx/gstomxmpeg2dec.c:
4959 * omx/gstomxmpeg2dec.h:
4960 omx: add mpeg2 video decoder
4961 This adds a decoder class for mpeg2, as well as an extended
4962 configuration for raspberry pi.
4963 https://bugzilla.gnome.org/show_bug.cgi?id=692446
4964 Signed-off-by: Julian Scheel <julian@jusst.de>
4966 2013-01-18 16:47:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4969 omx: Minimize the time when the messages lock is held
4970 Fixes a deadlock if any OMX functions are called when the
4971 messages are handled.
4972 Thanks to Nicolas Dufresne for noticing.
4974 2013-01-18 15:28:20 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
4977 omx: improve debug message when we can't find the config file
4978 Mention where we looked for the config file.
4980 2013-01-18 12:34:38 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
4983 build: fix autogen.sh with automake 1.13
4984 AM_CONFIG_HEADER -> AC_CONFIG_HEADERS
4986 2013-01-17 18:07:41 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4989 * omx/gstomxaudioenc.h:
4990 * omx/gstomxvideodec.h:
4991 * omx/gstomxvideoenc.h:
4992 omx: Fix includes to properly work with the 1.0 releases
4994 2013-01-15 15:08:28 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
4997 Automatic update of common submodule
4998 From a72faea to a942293
5000 2013-01-15 14:34:45 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5003 omx: Update port definition when changing some port setting
5005 2013-01-14 11:41:57 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5009 omx: Rename from libgstopenmax.so to ligstomx.so for consistency
5011 2013-01-11 15:32:22 +0000 Nicolas Dufresne <nicolas.dufresne@collabora.com>
5014 omx: Add a method to send message
5016 2013-01-11 15:44:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5020 omx: Atomic ops are not required anymore for the reconfiguration
5022 2013-01-11 12:52:10 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5024 * omx/gstomxaudioenc.c:
5025 * omx/gstomxvideodec.c:
5026 * omx/gstomxvideoenc.c:
5027 omx: Fix some memory leaks and suboptimal locking
5029 2013-01-11 12:34:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5031 * omx/gstomxvideoenc.c:
5032 omxvideoenc: Don't forget to unmap frame in error cases
5034 2013-01-11 12:29:20 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5036 * omx/gstomxvideoenc.c:
5037 omxvideoenc: Fix copying of the video frames to the OMX buffers
5039 2013-01-11 12:24:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5041 * omx/gstomxvideodec.c:
5042 omxvideodec: Fix copying of the video frames from the OMX buffers
5044 2013-01-10 14:44:33 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5049 * omx/gstomxaudioenc.c:
5050 * omx/gstomxrecmutex.c:
5051 * omx/gstomxrecmutex.h:
5052 omx: Implement new approach for locking that should solve all deadlocks on RPi
5053 No mutex is locked while calling any OpenMAX functions anymore
5054 and everything from the OpenMAX callbacks is inserted into a message
5055 queue and handled from outside the callbacks.
5056 Also there's only a single mutex and condition variable per component
5057 now for handling anything from OpenMAX callbacks and a single mutex
5058 for keeping our component/port state sane.
5060 2012-12-20 19:30:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5062 * omx/gstomxvideodec.c:
5063 omxvideodec: Set the OMX buffer nFilledLength field properly
5065 2012-12-20 18:48:21 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5067 * omx/gstomxrecmutex.c:
5068 * omx/gstomxrecmutex.h:
5069 omxrecmutex: Fix another race condition when two threads are trying to lock for recursion at the same time
5071 2012-12-20 18:16:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5073 * omx/gstomxrecmutex.c:
5074 * omx/gstomxrecmutex.h:
5075 omxrecmutex: Fix yet another race condition that resulted in deadlocks
5077 2012-12-20 17:46:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5080 * omx/gstomxrecmutex.c:
5081 * omx/gstomxrecmutex.h:
5082 omx: Fix another race condition in the recursive mutex
5083 Between lock() and begin_recursion() it was possible for another thread to
5084 try to do a recursive_lock(). This would block because the mutex was already
5085 locked(), but not ready for recursive locking yet. unlock() would never
5086 happen in the original thread because it was waiting for the other thread
5088 Happened on the Raspberry Pi.
5090 2012-12-20 14:45:18 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5092 * omx/gstomxrecmutex.c:
5093 * omx/gstomxrecmutex.h:
5094 omxrecmutex: Fix a small race condition when unlocking a non-recursive lock
5096 2012-12-20 12:30:05 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5098 * omx/gstomxaudioenc.c:
5099 * omx/gstomxvideodec.c:
5100 * omx/gstomxvideoenc.c:
5101 omx: Fix ununsed variable compiler warning
5103 2012-12-20 12:27:47 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5105 * omx/gstomxaudioenc.c:
5106 * omx/gstomxvideodec.c:
5107 * omx/gstomxvideoenc.c:
5108 omx: No need to start the srcpad task in ::start() already
5109 It will be started properly after the caps are set.
5111 2012-12-20 12:23:49 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5113 * omx/gstomxvideodec.c:
5114 omxvideodec: OMX_ErrorNoMore is no error and just means we ended iteration
5116 2012-12-20 12:20:31 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5118 * omx/gstomxaudioenc.c:
5119 * omx/gstomxvideodec.c:
5120 * omx/gstomxvideoenc.c:
5121 omx: Improve debug output
5123 2012-12-20 12:02:30 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5125 * omx/gstomxvideodec.c:
5126 omxvideodec: Don't forget to free a GList
5128 2012-12-20 11:56:29 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5130 * omx/gstomxvideodec.c:
5131 omxvideodec: Map OMX_COLOR_FormatYUV420PackedPlanar to I420 too
5132 This is used on the Raspberry Pi.
5134 2012-12-20 11:55:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5136 * omx/gstomxvideodec.c:
5137 omxvideodec: During negotiation of the output format make sure we use the correct OpenMAX format
5139 2012-12-20 11:42:17 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5141 * omx/gstomxvideodec.c:
5142 omxvideodec: If negotiation fails this could also mean that the component can't do it at this point yet
5144 2012-12-20 11:40:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5146 * omx/gstomxvideodec.c:
5147 omxvideodec: Improve format negotiation a bit
5148 Don't leak caps and make sure to fixate caps.
5150 2012-12-19 13:05:28 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5153 omx: Also initialize nStep field of the OMX structures
5155 2012-12-19 13:03:37 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5158 omx: Initialize struct version with the OMX version we compiled with
5160 2012-12-19 12:44:31 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5162 * omx/gstomxvideodec.c:
5163 omxvideodec: Extract data from the input buffer, not the codec data
5165 2012-12-19 12:19:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5168 * tools/listcomponents.c:
5169 omx: Use has_suffix() instead of has_prefix() for the Broadcom hack
5171 2012-12-19 12:08:35 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5175 * tools/Makefile.am:
5176 * tools/listcomponents.c:
5177 tools: Add tool to list all components and their roles
5179 2012-12-19 11:31:51 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5182 omx: Add hack to load and initialize libbcm_host.so
5183 Needed on the Raspberry Pi. Patch based on a patch by
5184 George Kiagiadakis <george.kiagiadakis@collabora.com>
5186 2012-12-19 11:22:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5190 configure: Add configure option to pack OpenMAX structures
5191 This is required to set to 4 for the Raspberry Pi for example.
5193 2012-12-19 11:07:44 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5196 configure: Require GStreamer 1.0.0
5198 2012-04-20 17:13:52 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
5201 omx: Initialize structures to version 1.1.2
5203 2012-12-19 09:51:22 +0000 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5206 * config/Makefile.am:
5207 * config/raspberry-pi.conf:
5209 config: Add raspberry-pi configuration in a different directory
5211 2012-05-20 20:11:59 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
5213 * omx/gstomx-raspberry.conf:
5214 raspberry: Add a gstomx.conf for the Raspberry Pi
5216 2012-12-12 17:45:39 +0000 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5219 * omx/gstomxvideoenc.h:
5220 omx: Fix some compilation errors caused by circular includes
5222 2012-11-19 11:29:44 +0000 Tim-Philipp Müller <tim@centricular.net>
5225 Automatic update of common submodule
5226 From 6bb6951 to a72faea
5228 2012-11-12 15:14:09 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5230 * omx/gstomxvideodec.c:
5231 * omx/gstomxvideoenc.c:
5232 omx: Fix refcount problem with frames being dropped because of decoder bugs
5234 2012-11-12 11:29:48 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5238 * omx/gstomxaudioenc.c:
5239 * omx/gstomxaudioenc.h:
5240 * omx/gstomxrecmutex.c:
5241 * omx/gstomxrecmutex.h:
5242 * omx/gstomxvideodec.c:
5243 * omx/gstomxvideodec.h:
5244 * omx/gstomxvideoenc.c:
5245 * omx/gstomxvideoenc.h:
5246 omx: Update to new GLib thread API
5248 2012-10-22 14:34:53 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5250 * omx/gstomxvideodec.c:
5251 * omx/gstomxvideoenc.c:
5252 omx: Use open/close vfuncs
5254 2012-10-22 14:28:04 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5256 * omx/gstomxvideodec.c:
5257 * omx/gstomxvideoenc.c:
5258 omx: Handle video meta correctly
5260 2012-06-20 13:11:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5263 * omx/gstbasevideocodec.c:
5264 * omx/gstbasevideocodec.h:
5265 * omx/gstbasevideodecoder.c:
5266 * omx/gstbasevideodecoder.h:
5267 * omx/gstbasevideoencoder.c:
5268 * omx/gstbasevideoencoder.h:
5269 * omx/gstbasevideoutils.c:
5270 * omx/gstbasevideoutils.h:
5271 * omx/gstomxh263dec.c:
5272 * omx/gstomxh263enc.c:
5273 * omx/gstomxh264dec.c:
5274 * omx/gstomxh264enc.c:
5275 * omx/gstomxmpeg4videodec.c:
5276 * omx/gstomxmpeg4videoenc.c:
5277 * omx/gstomxvideodec.c:
5278 * omx/gstomxvideodec.h:
5279 * omx/gstomxvideoenc.c:
5280 * omx/gstomxvideoenc.h:
5281 * omx/gstomxwmvdec.c:
5282 omx: Port to video base classes from -base
5284 2012-10-17 17:57:43 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5286 * omx/gstomxaacenc.c:
5287 * omx/gstomxh263dec.c:
5288 * omx/gstomxh263enc.c:
5289 * omx/gstomxh264dec.c:
5290 * omx/gstomxh264enc.c:
5291 * omx/gstomxmpeg4videodec.c:
5292 * omx/gstomxmpeg4videoenc.c:
5293 * omx/gstomxwmvdec.c:
5294 omx: gst_element_class_set_details_simple() -> set_static_metadata()
5296 2012-10-06 15:01:11 +0100 Tim-Philipp Müller <tim@centricular.net>
5299 Automatic update of common submodule
5300 From 6c0b52c to 6bb6951
5302 2012-09-22 16:10:38 +0100 Tim-Philipp Müller <tim@centricular.net>
5305 Automatic update of common submodule
5306 From 4f962f7 to 6c0b52c
5308 2012-06-21 20:22:13 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
5311 omx: fix debug statement
5313 2012-06-21 20:21:03 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
5316 omx: use recursive_lock inside set_last_error(), since this function may be called from an event handler
5318 2012-08-22 13:31:59 +0200 Stefan Sauer <ensonic@users.sf.net>
5321 Automatic update of common submodule
5322 From 668acee to 4f962f7
5324 2012-08-05 16:42:43 +0100 Tim-Philipp Müller <tim@centricular.net>
5327 Automatic update of common submodule
5328 From 94ccf4c to 668acee
5330 2012-08-03 19:32:13 +0100 Tim-Philipp Müller <tim@centricular.net>
5333 omx: fix plugin name for new GST_PLUGIN_DEFINE API
5335 2012-07-23 08:47:32 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5338 Automatic update of common submodule
5339 From 98e386f to 94ccf4c
5341 2012-07-10 09:57:09 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5343 * omx/gstbasevideodecoder.c:
5344 omx: Update for allocation query API changes
5346 2012-06-20 11:09:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5348 * omx/gstomxaudioenc.c:
5349 * omx/gstomxvideodec.c:
5350 * omx/gstomxvideoenc.c:
5351 omx: Fix compilation after gst_pad_start_task() API changes
5353 2012-06-08 15:06:35 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
5356 Automatic update of common submodule
5357 From 03a0e57 to 98e386f
5359 2012-06-06 18:20:18 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
5362 Automatic update of common submodule
5363 From 1fab359 to 03a0e57
5365 2012-06-01 10:30:27 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
5368 Automatic update of common submodule
5369 From f1b5a96 to 1fab359
5371 2012-05-31 13:10:33 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5374 Automatic update of common submodule
5375 From 92b7266 to f1b5a96
5377 2012-05-30 12:47:59 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5380 Automatic update of common submodule
5381 From ec1c4a8 to 92b7266
5383 2012-05-30 11:26:30 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5386 Automatic update of common submodule
5387 From 3429ba6 to ec1c4a8
5389 2012-05-13 15:58:10 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5392 Automatic update of common submodule
5393 From dc70203 to 3429ba6
5395 2012-05-08 16:13:32 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
5398 omx: Fix spelling mistake found by lintian: s/Seperate/Separate/
5400 2012-04-30 23:58:43 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
5405 * omx/gstomxaudioenc.c:
5406 * omx/gstomxrecmutex.c:
5407 * omx/gstomxrecmutex.h:
5408 * omx/gstomxvideodec.c:
5409 * omx/gstomxvideoenc.c:
5410 Implement a new custom recursive mutex type and fix locking in callbacks so that in-context calls are allowed.
5411 According to the OMX specification, implementations are allowed to call
5412 callbacks in the context of their function calls. However, our callbacks
5413 take locks and this causes deadlocks if the unerlying OMX implementation
5414 uses this kind of in-context calls.
5415 A solution to the problem would be a recursive mutex. However, a normal
5416 recursive mutex does not fix the problem because it is not guaranteed
5417 that the callbacks are called from the same thread. What we see in Broadcom's
5418 implementation for example is:
5420 - OMX_Foo waits on a condition
5421 - A callback is executed in a different thread
5422 - When the callback returns, its calling function
5423 signals the condition that OMX_Foo waits on
5424 - OMX_Foo wakes up and returns
5425 The solution I came up with here is to take a second lock inside the callback,
5426 but only if recursion is expected to happen. Therefore, all calls to OMX
5427 functions are guarded by calls to gst_omx_rec_mutex_begin_recursion() / _end_recursion(),
5428 which effectively tells the mutex that at this point we want to allow calls
5429 to _recursive_lock() to succeed, although we are still holding the master lock.
5431 2012-04-20 14:51:34 +0000 George Kiagiadakis <george.kiagiadakis@collabora.com>
5435 omx: Add hack to disable setting roles to components.
5439 2012-04-30 23:20:24 +0000 George Kiagiadakis <george.kiagiadakis@collabora.com>
5442 * omx/gstomxvideodec.c:
5443 omxvideodec: Implement no-empty-eos-buffer hack, as in omxvideoenc.
5445 omx/gstomxvideodec.c
5447 2012-04-30 23:19:55 +0000 George Kiagiadakis <george.kiagiadakis@collabora.com>
5449 * omx/gstomxvideodec.c:
5450 omxvideodec: Fix coding style in the drain-may-not-return hack code
5452 2012-04-25 19:03:48 +0530 Arun Raghavan <arun.raghavan@collabora.co.uk>
5455 omx: Fix trivial debug print bug
5457 2012-04-25 19:01:32 +0530 Arun Raghavan <arun.raghavan@collabora.co.uk>
5461 * omx/gstomxvideodec.c:
5462 omxvideodec: Add hack for Ducati components not returning from drain
5463 This happens on the Galaxy Nexus, and causes the pipeline to hang waiting
5464 endlessly for a drain. The hack replaces the wait with a wait + 500ms timeout.
5466 2012-04-25 16:35:40 +0530 Arun Raghavan <arun.raghavan@collabora.co.uk>
5469 omx: Fix deadlock between ending a flush and the event handler
5470 gst_omx_port_set_flushing() calls OMX_FillThisBuffer at the end of a flush
5471 without releasing the port lock, and this can cause a deadlock with the
5472 EventHandler. This patches fixes this by dropping the lock for the duration of
5473 the fill buffer call.
5475 2012-04-24 15:41:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5477 * omx/gstbasevideodecoder.c:
5478 * omx/gstbasevideoencoder.c:
5479 omx: Update video encoder/decoder base classes from gst-plugins-bad
5481 2012-04-16 09:16:10 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5484 configure: Modernize autotools setup a bit
5485 Also we now only create tar.bz2 and tar.xz tarballs.
5487 2012-04-16 09:12:37 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5490 Automatic update of common submodule
5492 2012-04-16 08:34:56 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5494 * omx/gstomxaudioenc.c:
5495 omxaudioenc: Use gst_buffer_extract() to copy the input buffer data to the OpenMAX buffer
5497 2012-04-13 17:16:42 -0400 Alessandro Decina <alessandro.decina@collabora.com>
5500 Fix relative/absolute path glitch
5501 Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@collabora.com>
5503 2012-04-12 15:57:32 -0400 Olivier Crête <olivier.crete@collabora.com>
5508 * omx/gstbasevideocodec.c:
5509 * omx/gstbasevideocodec.h:
5510 * omx/gstbasevideodecoder.c:
5511 * omx/gstbasevideodecoder.h:
5512 * omx/gstbasevideoencoder.c:
5513 * omx/gstbasevideoencoder.h:
5516 * omx/gstomxaacenc.c:
5517 * omx/gstomxaudioenc.c:
5518 * omx/gstomxaudioenc.h:
5519 * omx/gstomxh263dec.c:
5520 * omx/gstomxh263enc.c:
5521 * omx/gstomxh264dec.c:
5522 * omx/gstomxh264enc.c:
5523 * omx/gstomxmpeg4videodec.c:
5524 * omx/gstomxmpeg4videoenc.c:
5525 * omx/gstomxvideodec.c:
5526 * omx/gstomxvideodec.h:
5527 * omx/gstomxvideoenc.c:
5528 * omx/gstomxvideoenc.h:
5529 * omx/gstomxwmvdec.c:
5532 2012-01-18 16:53:16 -0300 Reynaldo H. Verdejo Pinochet <reynaldo@collabora.com>
5536 Enable building with Android's buildsystem
5537 This change adds prelimary buildsystem hooks to
5538 build gst-omx with the Android buildsystem. Like
5539 the rest of GStreamer's Android hooks, the process
5540 relies on the availability of androgenizer. A tool
5541 developed by Collabora to automatically generate
5542 Android.mk files from within the auto* setup.
5543 Androgenizer is currently available at:
5544 http://cgit.collabora.com/git/user/derek/androgenizer.git/
5546 2011-12-13 10:17:41 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5548 * omx/gstbasevideocodec.c:
5549 basevideocodec: Don't use G_TYPE_REGISTER_BOXED() yet
5550 This would require GLib 2.26.
5552 2011-12-14 10:09:34 +0100 Jonas Larsson <Jonas.Larsson@palm.com>
5554 * omx/gstomxaudioenc.c:
5555 omxaudioenc: Add hack for encoder components that don't allow empty EOS buffers
5557 2011-12-14 10:07:29 +0100 Jonas Larsson <Jonas.Larsson@palm.com>
5559 * omx/gstomxvideoenc.c:
5560 omxvideoenc: Fix deadlock when using the EOS hack
5562 2011-12-12 14:26:48 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5564 * omx/gstomxvideoenc.c:
5565 omxvideoenc: Remove workaround for basevideocodec bug
5567 2011-12-12 14:26:34 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5569 * omx/gstomxvideodec.c:
5570 omxvideodec: Remove workaround for basevideocodec bug
5572 2011-12-05 17:57:01 +0000 Matej Knopp <matej.knopp@gmail.com>
5574 * omx/gstbasevideocodec.c:
5575 * omx/gstbasevideocodec.h:
5576 * omx/gstbasevideodecoder.c:
5577 * omx/gstbasevideoencoder.c:
5578 basevideo: Make GstVideoFrame a reference counted boxed object
5579 ...and also clear all existing frames when resetting the decoder or encoder.
5581 2011-12-09 12:17:29 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5585 * omx/gstomxvideoenc.c:
5586 omx: Add hack for encoder components that don't allow empty EOS buffers
5588 2011-12-09 10:21:47 +0100 Dake Gu <Dake.Gu@palm.com>
5590 * omx/gstomxaacenc.c:
5591 omxaacenc: Generate and set codec_data on the caps for raw AAC
5593 2011-10-31 11:36:06 +0100 Alessandro Decina <alessandro.decina@collabora.co.uk>
5595 * omx/gstbasevideoencoder.c:
5596 basevideoencoder: handle failures in start() and stop()
5598 2011-08-26 10:50:38 +0100 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
5600 * omx/gstbasevideoencoder.c:
5601 basevideoenc: do not try to calculate latency from an unknown framerate
5602 It'll divide by zero, and latency is unknown for an unknown framerate.
5603 Fixes an assert in the schroenc test.
5604 https://bugzilla.gnome.org/show_bug.cgi?id=657419
5606 2011-12-08 11:50:49 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5608 * omx/gstbasevideoencoder.c:
5609 basevideoencoder: Only make the header buffer metadata writable, not the buffer
5611 2011-12-08 10:18:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5613 * omx/gstbasevideoencoder.c:
5614 basevideoencoder: Fix handling of force-keyunit events
5616 2011-12-06 13:28:41 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5618 * omx/gstomxaudioenc.c:
5619 omxaudioenc: Don't forward EOS events immediately but let all other events be handled by the base class
5620 Previously this logic was inversed, which did not make any sense at all.
5622 2011-12-06 12:47:25 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5624 * omx/gstomxaudioenc.c:
5625 * omx/gstomxaudioenc.h:
5626 omxaudioenc: Use correct timestamp, duration and filled length for the EOS buffers
5628 2011-12-06 12:47:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5630 * omx/gstomxvideodec.c:
5631 * omx/gstomxvideodec.h:
5632 omxvideodec: Use correct timestamp, duration and filled length for the EOS buffers
5634 2011-12-06 12:46:51 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5636 * omx/gstomxvideoenc.c:
5637 * omx/gstomxvideoenc.h:
5638 omxvideoenc: Use correct timestamp, duration and filled length for the EOS buffers
5640 2011-12-05 13:18:09 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5643 omx: Improve debugging of buffer handling
5645 2011-12-05 08:12:48 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5647 * omx/gstomxvideoenc.c:
5648 omxvideoenc: Drop EOS events in ::finish()
5649 The event will be forwarded downstream from the srcpad
5650 loop function after the last buffer was generated by the
5651 component. Forwarding it after ::finish() will use the
5652 sinkpad streaming thread and does not guarantee that
5653 the encoder is completely drained.
5655 2011-12-01 16:20:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5657 * omx/gstomxvideodec.c:
5658 omxvideodec: Properly drop frames due to QoS
5659 Instead of finishing them they should be passed to drop(), which
5660 will then send QoS messages.
5662 2011-11-29 12:21:32 +0100 Jonas Larsson <jonas@hallerud.se>
5664 * omx/gstomxh264enc.c:
5665 omxh264enc: Add support for resending headers after a forced-keyframe
5667 2011-11-29 12:12:33 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5669 * omx/gstbasevideocodec.h:
5670 * omx/gstbasevideoencoder.c:
5671 basevideoencoder: Pass the all-headers field of the force-key-unit event to the subclass
5673 2011-11-29 12:12:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5675 * omx/gstbasevideoencoder.c:
5676 * omx/gstbasevideoencoder.h:
5677 basevideoencoder: Implement full support for the new force-key-unit event
5678 Including support for the running-time and count fields.
5680 2011-11-29 09:31:11 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5682 * omx/gstbasevideoencoder.c:
5683 basevideoencoder: Use new force-keyunit event API from gst-plugins-base
5685 2011-11-29 09:18:19 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5687 * omx/gstbasevideoencoder.c:
5688 * omx/gstbasevideoencoder.h:
5689 basevideoencoder: Adjusting padding is not required for -bad libraries
5691 2011-11-28 19:48:01 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5693 * omx/gstbasevideoencoder.h:
5694 basevideoencoder: Move some fields to the private part of the instance struct
5696 2011-11-28 19:36:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5698 * omx/gstbasevideoencoder.c:
5699 basevideoencoder: Make headers metadata writable before pushing downstream
5700 The timestamp, duration, etc of the headers has to be changed.
5702 2011-11-28 19:35:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5704 * omx/gstbasevideoencoder.c:
5705 * omx/gstbasevideoencoder.h:
5706 basevideoencoder: Push the downstream force-keyframe event after the next keyframe
5707 Even if the corresponding GstVideoFrame doesn't have the is_sync_point
5710 2011-11-28 19:29:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5712 * omx/gstbasevideoencoder.c:
5713 * omx/gstbasevideoencoder.h:
5714 basevideoencoder: Don't push an upstream force-keyunit event downstream
5716 2011-11-25 11:48:08 +0100 Jonas Larsson <jonas@hallerud.se>
5718 * omx/gstbasevideoencoder.c:
5719 * omx/gstbasevideoencoder.h:
5720 basevideoencoder: Add initial support for the all-headers field of the force-keyframe event
5723 2011-11-25 11:37:39 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5725 * omx/gstbasevideodecoder.c:
5726 basevideodecoder: some more debug logging
5728 2011-11-23 20:03:32 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5730 * omx/gstbasevideodecoder.c:
5731 * omx/gstbasevideodecoder.h:
5732 basevideodecoder: add API to drop a frame and post a QoS message on the bus
5733 https://bugzilla.gnome.org/show_bug.cgi?id=640017
5734 API: gst_base_video_decoder_drop_frame()
5736 2011-11-22 23:04:49 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5738 * omx/gstbasevideodecoder.c:
5739 docs: fix comment in gst_base_video_decoder_get_max_decode_time() docs
5741 2011-11-22 19:57:07 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5743 * omx/gstbasevideodecoder.c:
5744 basevideodecoder: fix weird event list handling
5745 Get rid of weird code that copies a list manually, taking
5746 ownership of the elements and then frees the old list. Instead,
5747 just take over the old list entirely. (If the intent was to
5748 reverse the list, one could use g_list_reverse() instead).
5749 Then, push events in the list out from last to first (since they
5750 were prepended as they came in) instead of just pushing out the
5751 last in the list and leaking the others.
5753 2011-11-25 11:31:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5757 * omx/gstbaseaudiodecoder.c:
5758 * omx/gstbaseaudiodecoder.h:
5759 * omx/gstbaseaudioencoder.c:
5760 * omx/gstbaseaudioencoder.h:
5761 * omx/gstbaseaudioutils.c:
5762 * omx/gstbaseaudioutils.h:
5763 * omx/gstomxaacenc.c:
5764 * omx/gstomxaudioenc.c:
5765 * omx/gstomxaudioenc.h:
5766 omxaudioenc: Use audio base classes from gst-plugins-base instead of having our own copies
5768 2011-11-18 10:00:31 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5770 * omx/gstomxaudioenc.c:
5771 omxaudioenc: First set ports to flushing before waiting for the srcpad streaming thread to finish
5773 2011-11-18 09:59:43 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5775 * omx/gstomxvideoenc.c:
5776 omxvideoenc: First set ports to flushing before waiting for the srcpad streaming thread to finish
5778 2011-11-18 09:58:58 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5780 * omx/gstomxvideodec.c:
5781 omxvideodec: First set ports to flushing before waiting for the srcpad streaming thread to finish
5783 2011-11-17 14:38:54 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5786 omx: Only disabling of a port is like flushing, enabling is like unflushing
5788 2011-11-17 13:33:35 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5791 omx: Enabling/disabling a port is also like flushing
5792 The component returns all buffers to us and shouldn't get any
5793 new buffers passed anymore.
5795 2011-11-17 11:26:33 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5797 * omx/gstomxaudioenc.c:
5798 omxaudioenc: Signal the drain GCond even if downstream returned an error
5800 2011-11-17 11:26:20 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5802 * omx/gstomxvideoenc.c:
5803 omxvideoenc: Signal the drain GCond even if downstream returned an error
5805 2011-11-17 11:25:52 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5807 * omx/gstomxvideodec.c:
5808 omxvideodec: Signal the drain GCond even if downstream returned an error
5810 2011-11-17 10:34:19 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5812 * omx/gstbasevideoencoder.c:
5813 basevideoencoder: Only call ::reset once in READY->PAUSED
5815 2011-11-17 10:19:35 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5817 * omx/gstomxaudioenc.c:
5818 omxaudioenc: Shutdown component in PAUSED->READY and deallocate buffers
5820 2011-11-17 10:19:30 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5822 * omx/gstomxvideoenc.c:
5823 omxvideoenc: Shutdown component in PAUSED->READY and deallocate buffers
5825 2011-11-17 10:19:10 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5827 * omx/gstomxvideodec.c:
5828 omxvideodec: Shutdown component in PAUSED->READY and deallocate buffers
5830 2011-11-16 12:02:08 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5832 * omx/gstomxvideoenc.c:
5833 omxvideoenc: Set force_keyframe to FALSE after handling it
5834 There's no reason why the base class should forward the event
5835 further downstream if we already handled it and will insert a
5838 2011-11-16 11:21:25 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5840 * omx/gstomxvideodec.c:
5841 omxvideodec: Always push buffers downstream, even if we didn't find a corresponding GstVideoFrame
5843 2011-11-15 09:47:55 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5846 omx: Fix debug level for flushing in wrong state from ERROR to DEBUG
5847 It's not really an error and doesn't matter at all if flush is called
5848 when the component is not running.
5850 2011-11-15 08:40:07 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5852 * omx/gstomxh264enc.c:
5853 omxh264enc: Detect bytestream stream format and don't put SPS/PPS into the caps for this format
5855 2011-11-15 08:28:32 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5857 * omx/gstomxvideoenc.c:
5858 * omx/gstomxvideoenc.h:
5859 omxvideoenc: Add vfunc for handling the output frames
5860 This can be used by subclasses to override the buffer flags
5861 or to handle some frames differently than the default behaviour.
5863 2011-11-14 12:50:26 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5865 * omx/gstomxvideodec.c:
5866 omxvideodec: Don't release buffers twice if dropping because of QoS
5868 2011-11-14 09:13:06 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5871 omx: Add XXX to the nOffset reset hack comment for QCOM
5873 2011-11-10 15:18:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5875 * omx/gstomxaudioenc.c:
5876 omxaudioenc: Make srcpad caps setting threadsafe
5878 2011-11-10 15:17:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5880 * omx/gstomxvideoenc.c:
5881 omxvideoenc: Make srcpad caps setting threadsafe
5883 2011-11-10 15:17:41 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5885 * omx/gstomxvideodec.c:
5886 omxvideodec: Make srcpad caps setting threadsafe
5888 2011-11-10 15:10:14 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5890 * omx/gstomxaudioenc.c:
5891 omxaudioenc: Make the srcpad task and the sinkpad streaming thread handling threadsafe
5893 2011-11-10 15:03:05 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5895 * omx/gstomxaudioenc.c:
5896 omxaudioenc: Always flush the ports and make sure no processing is happening in ::flush
5897 This fixes a race condition that happened when seeking
5898 very often in a short period of time.
5900 2011-11-10 15:02:22 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5902 * omx/gstomxvideoenc.c:
5903 omxvideoenc: Always flush the ports and make sure no processing is happening in ::reset
5904 This fixes a race condition that happened when seeking
5905 very often in a short period of time.
5907 2011-11-10 15:01:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5909 * omx/gstomxvideoenc.c:
5910 omxvideoenc: Fix minor race condition when draining after upstream signalled EOS
5912 2011-11-10 14:56:19 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5914 * omx/gstomxaudioenc.c:
5915 omxaudioenc: Improve EOS handling
5916 If downstream return UNEXPECTED we should still signal the
5917 drain cond because nothing will trigger this again later.
5919 2011-11-10 14:56:11 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5921 * omx/gstomxvideoenc.c:
5922 omxvideoenc: Improve EOS handling
5923 If downstream return UNEXPECTED we should still signal the
5924 drain cond because nothing will trigger this again later.
5926 2011-11-10 14:54:33 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5928 * omx/gstomxaudioenc.c:
5929 omxaudioenc: Improve debugging of EOS and draining
5931 2011-11-10 14:54:17 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5933 * omx/gstomxvideoenc.c:
5934 omxvideoenc: Improve debugging of EOS and draining
5936 2011-11-10 14:51:06 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5938 * omx/gstomxvideodec.c:
5939 omxvideodec: Log if acquiring buffer for EOS failed
5941 2011-11-10 14:42:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5943 * omx/gstomxvideodec.c:
5944 omxvideodec: The component is not started in READY
5946 2011-11-10 14:39:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5948 * omx/gstomxaudioenc.c:
5949 omxaudioenc: No need to signal the drain cond when going from READY to PAUSED
5950 Also the component is not started in READY
5952 2011-11-10 14:40:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5954 * omx/gstomxvideoenc.c:
5955 omxvideoenc: No need to signal the drain cond when going from READY to PAUSED
5956 Also the component is not started in READY.
5958 2011-11-09 15:46:02 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5960 * omx/gstomxvideodec.c:
5961 omxvideodec: Always flush the ports and make sure no processing is happening in ::reset
5962 This fixes a race condition that happened when seeking
5963 very often in a short period of time.
5965 2011-11-09 15:45:20 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5967 * omx/gstomxvideodec.c:
5968 omxvideodec: Fix minor race condition when draining after upstream signalled EOS
5970 2011-11-09 15:44:11 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5972 * omx/gstomxvideodec.c:
5973 omxvideodec: Improve EOS handling
5974 If downstream return UNEXPECTED we should still signal the
5975 drain cond because nothing will trigger this again later.
5977 2011-11-09 15:43:32 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5979 * omx/gstomxvideodec.c:
5980 omxvideodec: Improve debugging of EOS and draining
5982 2011-11-09 15:42:46 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5984 * omx/gstomxvideodec.c:
5985 omxvideodec: The component is not started already when going from READY to PAUSED
5987 2011-11-09 15:42:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5989 * omx/gstomxvideodec.c:
5990 omxvideodec: No need to signal the drain cond when going from READY to PAUSED
5992 2011-11-09 15:41:02 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5995 omx: Always reset buffer flags for output ports, even in flushing/error state
5997 2011-11-09 09:00:57 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5999 * omx/gstomxvideodec.c:
6000 omxvideodec: Improve debugging in case of QoS-related frame drops
6002 2011-11-08 12:46:31 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6004 * omx/gstomxvideoenc.c:
6005 omxvideoenc: Release the video codec stream lock before acquiring an input buffer
6006 Otherwise the srcpad task might block on this lock and
6007 no buffers ever become available again.
6009 2011-11-08 12:45:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6011 * omx/gstomxaudioenc.c:
6012 omxaudioenc: Release the audio encoder stream lock before acquiring an input buffer
6013 Otherwise the srcpad task might block on this lock and
6014 no buffers ever become available again.
6016 2011-11-08 12:42:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6018 * omx/gstomxvideodec.c:
6019 omxvideodec: Release the video codec stream lock before acquiring an input buffer
6020 Otherwise the srcpad task might block on this lock and
6021 no buffers ever become available again.
6023 2011-11-08 11:07:01 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6025 * omx/gstomxaudioenc.c:
6026 * omx/gstomxaudioenc.h:
6027 omxaudioenc: Don't try to drain the component after EOS
6028 And don't send EOS twice in any case. This most likely
6029 will cause the component to not output it again and
6030 is not necessary anyway.
6032 2011-11-08 11:03:29 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6034 * omx/gstomxvideoenc.c:
6035 * omx/gstomxvideoenc.h:
6036 omxvideoenc: Don't try to drain the component after EOS
6037 And don't send EOS twice in any case. This most likely
6038 will cause the component to not output it again and
6039 is not necessary anyway.
6041 2011-11-08 10:46:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6043 * omx/gstomxvideodec.c:
6044 * omx/gstomxvideodec.h:
6045 omxvideodec: Don't try to drain the component after EOS
6046 And don't send EOS twice in any case. This most likely
6047 will cause the component to not output it again and
6048 is not necessary anyway.
6050 2011-11-08 09:09:28 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6052 * omx/gstomxvideodec.c:
6053 omxvideodec: Implement dropping of too late frames via QoS
6055 2011-11-08 08:31:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6057 * omx/gstomxaudioenc.c:
6058 omxaudioenc: Minor code refactoring
6060 2011-11-08 08:31:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6062 * omx/gstomxvideoenc.c:
6063 omxvideoenc: Minor code refactoring
6065 2011-11-08 08:31:32 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6067 * omx/gstomxvideodec.c:
6068 omxvideodec: Make sure to always release buffers back to OMX
6070 2011-11-08 08:24:19 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6073 omx: Also properly release buffers when in error state
6075 2011-11-08 08:22:08 +0100 Jonas Larsson <Jonas.Larsson@palm.com>
6078 omx: Properly release buffers during flushing
6079 We can't pass them back to OMX_FillThisBuffer() or OMX_EmptyThisBuffer()
6080 but instead of doing nothing we have to put them back into our queue.
6081 Otherwise the buffer is leaked and we will have too few buffers in
6084 2011-11-07 14:00:47 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6086 * omx/gstomxvideodec.c:
6087 omxvideodec: Free pending frames after draining component
6089 2011-11-07 14:00:35 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6091 * omx/gstomxvideoenc.c:
6092 omxvideoenc: Free pending frames after draining the component
6094 2011-11-07 11:07:01 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6096 * omx/gstomxvideoenc.c:
6097 omxvideoenc: Make handling and usage of the base video codec frames threadsafe
6099 2011-11-07 11:05:29 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6101 * omx/gstomxvideoenc.c:
6102 omxvideoenc: Fix deadlock between srcpad stream lock and ::reset()
6104 2011-11-07 11:04:27 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6106 * omx/gstomxvideodec.c:
6107 omxvideoenc: Make handling and usage of the base video codec frames threadsafe
6109 2011-11-07 10:58:44 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6111 * omx/gstomxvideoenc.c:
6112 omxvideoenc: Free all pending frames after draining the component
6114 2011-11-07 10:58:24 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6116 * omx/gstomxvideodec.c:
6117 omxvideodec: Always free all pending frames when caps changes require reconfiguration
6119 2011-11-04 09:43:48 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6121 * omx/gstomxaudioenc.c:
6122 omxaudioenc: Only drain the component a single time and only after processing started
6124 2011-11-04 09:43:32 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6126 * omx/gstomxvideodec.c:
6127 omxvideodec: Only drain the component a single time and only after processing started
6129 2011-11-04 09:43:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6131 * omx/gstomxvideoenc.c:
6132 omxvideoenc: Only drain the component a single time and only after processing started
6134 2011-11-04 09:04:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6137 omx: Reset buffer flags to 0 after it was consumed by the component or the element
6138 Some implementations don't reset the flags and the standard is not
6139 really clear on the expected behaviour. Let's just always reset the
6140 flags as they're not valid at this point anymore.
6142 2011-11-02 13:50:14 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6144 * omx/gstomxvideoenc.c:
6145 * omx/gstomxvideoenc.h:
6146 omxvideoenc: Better handling of encoder parameters
6147 Only set them if necessary and allow to use the component
6150 2011-11-02 13:22:50 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6152 * omx/gstomxvideoenc.c:
6153 omxvideoenc: Make unsupported bitrate/quantizer settings less fatal
6155 2011-11-02 10:39:50 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6157 * omx/gstomxvideodec.c:
6158 omxvideodec: If no stride was set for the OMX output port assume GStreamer stride
6159 This is not really correct but there's nothing else we could do.
6161 2011-11-02 10:39:10 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6163 * omx/gstomxvideoenc.c:
6164 omxvideoenc: If no stride was set for the OMX input port assume GStreamer stride
6165 This is not really correct but there's nothing else we could do.
6167 2011-11-01 16:46:09 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6169 * omx/gstomxaudioenc.c:
6170 * omx/gstomxaudioenc.h:
6171 omxaudioenc: Implement draining of the component and use it
6172 This makes sure that all buffers are encoded and pushed downstream
6173 before flushing the ports and losing some buffers.
6175 2011-11-01 16:41:46 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6177 * omx/gstomxvideoenc.c:
6178 * omx/gstomxvideoenc.h:
6179 omxvideoenc: Implement draining of the component and use it
6180 This makes sure that all buffers are encoded and pushed downstream
6181 before flushing the ports and losing some buffers.
6183 2011-11-01 16:08:59 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6185 * omx/gstomxvideodec.c:
6186 * omx/gstomxvideodec.h:
6187 omxvideodec: Implement draining of the component and use it
6188 This makes sure that all buffers are decoded and pushed downstream
6189 before flushing the ports and losing some buffers.
6191 2011-10-20 14:32:40 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6193 * omx/gstomxvideodec.c:
6194 omxvideodec: Fix deadlock if ::reset is called before finding the corresponding frame of a decoded buffer
6196 2011-11-01 15:10:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6198 * omx/gstomxaudioenc.c:
6199 * omx/gstomxaudioenc.h:
6200 * omx/gstomxvideoenc.h:
6201 omxaudioenc: Forward downstream flow returns to upstream
6203 2011-11-01 15:10:01 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6205 * omx/gstomxvideoenc.c:
6206 omxvideoenc: Forward downstream flow returns to upstream
6208 2011-11-01 13:58:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6210 * omx/gstomxvideodec.c:
6211 * omx/gstomxvideodec.h:
6212 omxvideodec: Forward downstream flow returns to upstream
6214 2011-10-25 14:23:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6217 omx: Add minimal README file
6219 2011-10-20 15:21:07 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6221 * omx/gstomxvideodec.c:
6222 omxvideodec: Fix deadlock caused by calling reset while the loop function does something with the base video codec stream lock
6224 2011-10-20 15:20:47 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6226 * omx/gstomxvideoenc.c:
6227 omxvideoenc: Fix deadlock caused by calling reset while the loop function does something with the base video codec stream lock
6229 2011-10-20 14:30:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6231 * omx/gstomxvideodec.c:
6232 omxvideodec: Move locking at the correct place
6234 2011-10-14 10:27:47 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6238 omx: Remove QCOM hack to reset nOffset in EmptyBufferDone
6239 This is now done in a generic way that does not require any
6240 hacks because it will work without any side effects on any
6243 2011-10-14 10:26:00 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6246 omx: Reset nOffset to 0 in EmptyBufferDone if nFilledLen is 0
6247 Some OMX implementations don't reset nOffset when the complete
6248 buffer is emptied but instead only reset nFilledLen. We reset
6249 nOffset to 0 if nFilledLen == 0, which is safe to do because
6250 the offset *must* be 0 if the buffer is not filled at all.
6251 Seen in QCOM's OMX implementation.
6253 2011-10-04 10:56:33 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6255 * omx/gstomxvideoenc.c:
6256 omxvideoenc: If one parameter/configuration is not supported don't skip the next
6258 2011-10-03 09:12:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6260 * omx/gstomxh264dec.c:
6261 omxh264dec: Require stream-format=byte-stream
6262 Other stream-formats are unlikely to be supported by OMX components.
6264 2011-09-29 10:37:32 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6266 * omx/gstomxvideodec.c:
6267 * omx/gstomxvideodec.h:
6268 omxvideodec: Add API for subclasses to prepare/convert frames
6270 2011-09-27 15:08:54 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6272 * omx/gstomxaudioenc.c:
6273 omxaudioenc: Switch to Idle first and wait before switching to Loaded and deallocating buffers
6274 Allocating buffers before the Idle state is reached can lead to crashes.
6276 2011-09-27 15:08:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6278 * omx/gstomxvideoenc.c:
6279 omxvideoenc: Switch to Idle first and wait before switching to Loaded and deallocating buffers
6280 Allocating buffers before the Idle state is reached can lead to crashes.
6282 2011-09-27 15:05:19 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6284 * omx/gstomxvideodec.c:
6285 omxvideodec: Switch to Idle first and wait before switching to Loaded and deallocating buffers
6286 Allocating buffers before the Idle state is reached can lead to crashes.
6288 2011-09-27 14:15:06 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6292 * omx/gstomxvideodec.c:
6293 omxvideodec: New hack for QCOM to recreate the component instead of reconfiguring it on caps changes
6295 2011-09-27 12:13:56 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6298 omx: Change a g_assert() into a GST_WARNING_OBJECT()
6300 2011-09-26 13:04:18 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6304 omx: Add hack for Qualcomm's OMX implementation to manually reset nOffset in EmptyBufferDone
6306 2011-09-23 17:02:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6308 * omx/gstomxaudioenc.c:
6309 omxaudioenc: Add a check to prevent a zero-sized OMX buffer
6311 2011-09-23 17:02:19 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6313 * omx/gstomxvideoenc.c:
6314 omxvideoenc: Add some more checks for correct OMX buffer sizes
6316 2011-09-23 15:53:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6318 * omx/gstomxvideodec.c:
6319 omxvideodec: Add some more checks for OMX buffer sizes
6321 2011-09-14 10:15:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6325 * omx/gstomxaudioenc.c:
6326 * omx/gstomxvideodec.c:
6327 * omx/gstomxvideoenc.c:
6328 omx: Wait until the Executing state is reached before calling OMX_FillThisBuffer()
6329 This correctly works around the QCOM race condition that happens when calling
6330 FTB after setting the new state and before reaching it.
6332 2011-09-02 14:43:43 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6334 * omx/gstomxvideodec.c:
6335 omxvideodec: Negotiate video format with downstream and what the component claims to support
6337 2011-08-25 19:56:58 +0100 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
6339 * omx/gstbasevideoencoder.c:
6340 basevideoencoder: fix element leak
6341 and this concludes an hour of yelling at the bloody test failing,
6342 only to track down the problem not being in the test.
6343 https://bugzilla.gnome.org/show_bug.cgi?id=657368
6345 2011-08-19 09:20:39 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6347 * omx/gstomxvideoenc.c:
6348 omxvideoenc: Release basevideocodec stream lock while waiting for a buffer
6349 This prevents deadlocks if no empty input buffers are available and
6350 releasing input buffers requires the loop function to handle some
6351 output buffers first.
6353 2011-08-19 09:19:22 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6355 * omx/gstomxvideodec.c:
6356 omxvideodec: Release basevideocodec stream lock while waiting for a buffer
6357 This prevents deadlocks if no empty input buffers are available and
6358 releasing input buffers requires the loop function to handle some
6359 output buffers first.
6361 2011-08-18 10:24:26 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6363 * omx/gstbasevideodecoder.c:
6364 basevideodecoder: Fix deadlock
6366 2011-08-18 10:03:20 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6368 * omx/gstbaseaudiodecoder.c:
6369 baseaudiodecoder: Don't take the stream lock in the seek handler
6370 This will lead to deadlocks
6372 2011-08-18 10:02:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6374 * omx/gstbasevideocodec.c:
6375 * omx/gstbasevideocodec.h:
6376 * omx/gstbasevideodecoder.c:
6377 * omx/gstbasevideoencoder.c:
6378 basevideo: Fix locking, especially if both pads have different streaming threads
6380 2011-08-18 09:42:02 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6382 * omx/gstbasevideodecoder.c:
6383 * omx/gstbasevideoencoder.c:
6384 basevideo: Don't call g_type_class_peek_parent() in class_init
6385 This is already done by the GObject boilerplate macro
6387 2011-08-18 09:40:46 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6389 * omx/gstbaseaudiodecoder.c:
6390 baseaudiodecoder: Don't call g_type_class_peek_parent() in class_init
6391 This is already done by the boilerplate macro
6393 2011-08-18 09:34:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6395 * omx/gstbaseaudiodecoder.c:
6396 * omx/gstbaseaudiodecoder.h:
6397 baseaudiodecoder: Fix thread safety issues if both pads have different streaming threads
6399 2011-08-18 09:17:04 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6401 * omx/gstbaseaudiodecoder.c:
6402 baseaudiodecoder: Delay sending of serialized events to finish_frame()
6404 2011-08-17 14:33:31 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6406 * omx/gstomxaudioenc.c:
6407 omxaudioenc: Always require at least OMX_MIN_PCMPAYLOAD_MSEC per input buffer
6409 2011-08-17 14:28:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6411 * omx/gstbaseaudioencoder.c:
6412 * omx/gstbaseaudioencoder.h:
6413 baseaudioencoder: Add support for requesting a minimum and maximum number of samples per frame
6414 This extends the special case of a fixed number of samples per frame
6415 that was supported before already.
6417 2011-08-17 14:17:18 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6419 * omx/gstomxaudioenc.c:
6420 omxaudioenc: Handle inbuf==NULL properly in ::handle_frame()
6422 2011-08-17 13:04:19 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6424 * omx/gstomxaacenc.c:
6425 omxaacenc: Implement ::get_num_samples() vfunc
6427 2011-08-17 13:03:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6429 * omx/gstomxaudioenc.c:
6430 * omx/gstomxaudioenc.h:
6431 omxaudioenc: Add vfunc to get the number of samples inside a buffer
6433 2011-08-17 11:34:31 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6435 * omx/gstomxaudioenc.c:
6436 omxaudioenc: Release baseaudioencoder stream lock while waiting for a buffer in ::handle_frame()
6437 This prevents deadlocks if no empty input buffers are available and
6438 releasing input buffers requires the loop function to handle some
6439 output buffers first.
6441 2011-08-17 11:34:04 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6443 * omx/gstbaseaudioencoder.c:
6444 * omx/gstbaseaudioencoder.h:
6445 baseaudioencoder: Fix thread safety issues if both pads have different streaming threads
6447 2011-08-17 09:58:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6449 * omx/gstbaseaudioencoder.c:
6450 baseaudioencoder: Taking the OBJECT lock in reset() is not needed
6452 2011-08-16 11:03:24 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6454 * omx/gstomxaudioenc.c:
6455 omxaudioenc: Remove hack that only applies to the video encoder class
6457 2011-08-16 10:49:21 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6462 * omx/gstomxaacenc.c:
6463 * omx/gstomxaacenc.h:
6464 omxaacenc: Add initial version of OpenMAX AAC encoder element
6466 2011-08-15 15:10:04 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6469 * omx/gstomxaudioenc.c:
6470 * omx/gstomxaudioenc.h:
6471 omxaudioenc: Add initial version of audio encoder base class
6473 2011-08-15 14:14:11 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6475 * omx/gstbaseaudioencoder.c:
6476 baseaudioencoder: Delay sending of serialized events to finish_frame()
6478 2011-08-15 13:06:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6481 * omx/gstbaseaudiodecoder.c:
6482 * omx/gstbaseaudiodecoder.h:
6483 * omx/gstbaseaudioencoder.c:
6484 * omx/gstbaseaudioencoder.h:
6485 audio: Integrate audio base classes into the build system and fixup
6487 2011-08-15 12:56:00 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6489 * omx/gstbaseaudiodecoder.c:
6490 * omx/gstbaseaudiodecoder.h:
6491 * omx/gstbaseaudioencoder.c:
6492 * omx/gstbaseaudioencoder.h:
6493 * omx/gstbaseaudioutils.c:
6494 * omx/gstbaseaudioutils.h:
6495 audio: Add audio decoder/encoder base classes
6496 Taken from http://cgit.collabora.com/git/user/manauw/gst-plugins-bad.git/log/?h=baseaudio
6498 2011-08-12 12:25:03 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6500 * omx/gstbasevideoencoder.c:
6501 basevideoencoder: Proxy the width/height/framerate/PAR constraints of downstream caps to upstream
6502 This allows to specify constraints on the compressed downstream caps
6503 by muxers or capsfilters, which will then be forwarded to upstream
6504 and allows video converters to fulfill the constraints.
6505 Code based on Mark Nauwelaerts audio encoder base class.
6507 2011-08-12 12:13:45 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6509 * omx/gstbasevideoencoder.h:
6510 basevideoencoder: Remove old ::getcaps() comment
6512 2011-08-12 12:06:23 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6514 * omx/gstbasevideoencoder.c:
6515 * omx/gstbasevideoencoder.h:
6516 basevideoencoder: Remove ::get_caps() vfunc
6517 Subclasses can set the caps more efficiently and this only
6518 caused additional indirections.
6520 2011-08-10 10:24:21 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6522 * omx/gstomxh263enc.c:
6523 * omx/gstomxh264enc.c:
6524 * omx/gstomxmpeg4videoenc.c:
6525 * omx/gstomxvideoenc.c:
6526 omxvideoenc: Use "video/x-raw-yuv" as sink template caps instead of strict I420 caps
6528 2011-08-10 10:23:39 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6530 * omx/gstomxmpeg4videodec.c:
6531 omxmpeg4videodec: Don't require width/height on sink pad caps
6533 2011-08-10 10:11:37 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6535 * omx/gstomxh263dec.c:
6536 * omx/gstomxh264dec.c:
6537 * omx/gstomxmpeg4videodec.c:
6538 * omx/gstomxvideodec.c:
6539 * omx/gstomxwmvdec.c:
6540 omxvideodec: Use "video/x-raw-yuv" as src template caps instead of strict I420 caps
6542 2011-08-10 09:56:30 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6544 * omx/gstomxvideoenc.c:
6545 omxvideoenc: Set the state back to StateLoaded even if an error happened
6547 2011-08-10 09:49:57 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6550 omx: Don't hold any locks while calling OMX_SendCommand()
6551 It might call into one of the callbacks and lead to deadlocks, e.g.
6552 with the Qualcomm OMX implementation.
6554 2011-08-10 09:32:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6559 2011-08-10 09:23:10 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6562 omx: Reset pending reconfigure output ports when changing the state from Executing to any lower state
6564 2011-08-10 09:08:00 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6567 omx: Fix crash when setting last error after the ports were freed
6569 2011-08-10 09:03:52 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6572 omx: Free component structure
6574 2011-08-10 09:02:52 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6577 omx: Make component destruction safer
6579 2011-08-10 08:53:05 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6582 omx: Set pAppPrivate of buffers to NULL when deallocating buffers
6583 This prevents usage of freed memory later if the OMX component
6584 has weird behaviour.
6586 2011-08-10 08:52:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6588 * omx/gstomxvideodec.c:
6589 omxvideodec: Set the state back to StateLoaded even if an error happened
6591 2011-08-10 08:51:54 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6594 omx: Add some assertions to check if the buffer pAppPrivate is still correct
6596 2011-08-08 13:04:30 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6599 omx: Add parenthesis at correct places in the struct init macro
6601 2011-08-08 12:12:58 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6604 omx: Only prevent setting a higher state if the component is in an error state
6606 2011-08-03 16:02:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6608 * omx/gstbasevideodecoder.c:
6609 basevideodecoder: Use the cached video frame size instead of recalculating it
6611 2011-08-03 15:35:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6614 omx: Improve debugging in param/config getter/setter wrappers
6616 2011-08-03 13:10:33 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6618 * omx/gstomxvideodec.c:
6619 omxvideodec: Don't abort if the color format is not supported but give a useful error message
6621 2011-08-02 15:14:37 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6623 * omx/gstomxh263enc.c:
6624 * omx/gstomxh264enc.c:
6625 * omx/gstomxmpeg4videoenc.c:
6626 * omx/gstomxvideoenc.c:
6627 omxvideoenc: Don't fail if setting the bitrate or profile is not supported by the component
6628 Also always set/get the profile, even if there are no peer caps.
6630 2011-08-02 15:14:24 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6632 * omx/gstbasevideoencoder.c:
6633 basevideoencoder: Make access to the list of frames threadsafe
6635 2011-08-01 13:22:05 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6639 omx: Add a hacks flag for the Qualcomm 7x30 OMX_FillThisBuffer() race and make it optional
6641 2011-07-29 13:56:59 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6644 omx: Add workaround for QCOM 7x30 race condition
6646 2011-07-29 12:06:21 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6650 * omx/gstomxh263enc.c:
6651 * omx/gstomxh263enc.h:
6652 omxh263enc: Add H.263 encoder element
6654 2011-07-29 11:26:39 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6656 * omx/gstomxmpeg4videoenc.c:
6657 omxmpeg4videoenc: Add support for setting profile/level via caps
6659 2011-07-28 14:14:45 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6661 * omx/gstomxh264enc.c:
6662 omxh264enc: Add support for setting profile/level via caps
6664 2011-07-28 12:58:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6666 * omx/gstomxvideoenc.c:
6667 omxvideoenc: Add support for forcing the next frame to be a keyframe
6669 2011-07-28 11:54:16 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6671 * omx/gstomxvideoenc.c:
6672 * omx/gstomxvideoenc.h:
6673 omxvideoenc: Add support for setting bitrate/quantization related parameters
6675 2011-07-28 10:23:08 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6679 omx: Add wrapper functions for OMX_[GS]et{Config,Parameter}
6681 2011-07-28 09:54:53 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6685 omx: Add macro to initialize OpenMAX structures
6687 2011-07-28 09:08:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6689 * omx/gstomxvideoenc.c:
6690 omxvideoenc: Don't output 0-byte buffers
6692 2011-07-25 15:05:08 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6695 omx: Ensure that the pAppPrivate pointer in OMX buffers is set correctly
6697 2011-07-25 13:19:06 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6699 * omx/gstomxvideodec.c:
6700 * omx/gstomxvideoenc.c:
6701 omxvideo{enc,dec}: Only set/unset flushing state on ports if they were created already
6703 2011-07-25 12:01:05 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6707 * omx/gstomxwmvdec.c:
6708 * omx/gstomxwmvdec.h:
6709 omxwmvdec: Add WMV video decoder element
6711 2011-07-25 11:44:56 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6715 * omx/gstomxh263dec.c:
6716 * omx/gstomxh263dec.h:
6717 omxh263dec: Add H.263 decoder element
6719 2011-07-25 11:32:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6723 * omx/gstomxh264enc.c:
6724 * omx/gstomxh264enc.h:
6725 omxh264enc: Add H.264 encoder element
6727 2011-07-25 10:48:58 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6729 * omx/gstomxvideodec.c:
6730 omxvideodec: Try harder to deallocate the buffers after errors happened
6732 2011-07-25 10:47:28 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6734 * omx/gstomxvideoenc.c:
6735 omxvideoenc: Try harder to deallocate the buffers after errors happened
6737 2011-07-25 10:46:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6740 omx: Deallocate port buffers before freeing the component
6741 They should be deallocated by the caller before reaching the
6742 Loaded state but to be on the safe side we will make sure
6743 they're really deallocated here.
6745 2011-07-21 11:15:14 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6747 * omx/gstomxvideoenc.c:
6748 omxvideoenc: Add initial support for stride conversion
6750 2011-07-21 10:38:26 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6752 * omx/gstomxh264dec.c:
6753 * omx/gstomxmpeg4videodec.c:
6754 * omx/gstomxmpeg4videoenc.c:
6755 omx: Set default roles for the components if none were set from the config file
6757 2011-07-21 10:36:19 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6760 omx: Failure to set the component role is fatal
6762 2011-07-21 07:53:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6764 * omx/gstomxvideoenc.c:
6765 omxvideoenc: Add support for setting codec_data on the srcpad caps
6767 2011-07-21 07:44:34 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6769 * omx/gstomxvideoenc.c:
6770 omxvideoenc: Free/drop GstVideoFrames that resulted in an empty buffer
6772 2011-07-21 07:44:10 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6774 * omx/gstbasevideoencoder.c:
6775 basevideoencoder: Allow finishing of frames with no src_buffer to drop/free the GstVideoFrame
6777 2011-07-21 07:31:05 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6779 * omx/gstomxvideoenc.c:
6780 omxvideoenc: Remove obsolete TODO comment
6782 2011-07-20 11:09:54 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6786 omx: Use libgstopenmax.so for the plugin filename and openmax for the plugin name
6787 Resolves conflicts with gst-openmax.
6789 2011-07-20 08:34:33 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6795 * omx/gstomxmpeg4videoenc.c:
6796 * omx/gstomxmpeg4videoenc.h:
6797 * omx/gstomxvideoenc.c:
6798 * omx/gstomxvideoenc.h:
6799 omxvideoenc: Add video encoder base class and MPEG4 video encoder
6800 Unfortunately requires lots of hacks again to work properly with
6803 2011-07-20 10:39:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6805 * omx/gstbasevideoencoder.c:
6806 basevideoencoder: Only get caps from the subclass if they were not set yet by the subclass
6808 2011-07-20 09:25:28 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6810 * omx/gstbasevideoencoder.c:
6811 * omx/gstbasevideoencoder.h:
6812 basevideoencoder: Delay sending of serialized sink events until finish_frame()
6814 2011-07-20 09:09:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6816 * omx/gstbasevideoencoder.c:
6817 * omx/gstbasevideoencoder.h:
6818 basevideoencoder: Add ::reset vfunc and handle ::reset/::finish the same way as in the decoder
6820 2011-07-19 12:50:43 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6822 * omx/gstbasevideoencoder.c:
6823 basevideoencoder: Use a temporary GstVideoState until the subclass accepted the caps
6824 Also store the caps in the GstVideoState and assume a PAR of 1/1 instead
6825 of 0/1 if no PAR is specified in the caps.
6827 2011-07-19 12:29:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6830 * omx/gstomxvideodec.c:
6831 omx: Improve debug output a bit
6833 2011-07-19 10:33:54 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6837 * omx/gstomxvideodec.c:
6838 omx: Rework port reconfiguration again and only use the Bellagio specific hacks with Bellagio
6839 We only reconfigure ports that need to be reconfigured now instead of
6842 2011-07-19 10:33:15 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6847 * omx/gstomxvideodec.c:
6848 * omx/gstomxvideodec.h:
6849 omx: Add infrastructure to enable special hacks for broken OpenMAX implementations
6851 2011-07-18 13:10:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6854 omx: When acquiring a buffer from an input port always wait until all output ports are reconfigured
6856 2011-07-18 08:41:20 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6858 * omx/gstomxvideodec.c:
6859 omxvideodec: Add support for converting between omx and gst rowstrides
6861 2011-07-14 10:34:09 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6864 omx: Provide all buffers to output ports after enabling them
6866 2011-07-14 08:29:03 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6868 * omx/gstomxvideodec.c:
6869 omxvideodec: Add support for NV12 / OMX_COLOR_FormatYUV420SemiPlanar
6871 2011-07-14 07:58:41 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6873 * omx/gstomxvideodec.c:
6874 * omx/gstomxvideodec.h:
6875 omxvideodec: Only flush the component ports after we passed input to them
6877 2011-07-13 21:19:34 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6879 * omx/gstomxvideodec.c:
6880 omxvideodec: Only change states downwards if an upper state was reached
6882 2011-07-13 20:37:02 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6886 * omx/gstomxvideodec.c:
6887 * omx/gstomxvideodec.h:
6888 omx: Add support for setting the component-role
6890 2011-07-13 20:22:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6894 * omx/gstomxvideodec.c:
6895 omx: Improve error reporting by formatting the error codes better and also providing their string representation
6897 2011-07-13 14:36:14 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6900 build: Dist autogen.sh
6902 2011-07-13 14:35:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6906 build: Only require GStreamer >= 0.10.29 and GLib >= 2.16
6908 2011-07-13 14:04:47 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6911 build: Dist gstomx.conf
6913 2011-07-13 14:04:20 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6916 build: Clean _stdint.h on "make distclean"
6918 2011-07-13 14:02:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6920 * omx/gstomxvideodec.c:
6921 omxvideodec: Fix typo
6923 2011-07-13 13:59:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6928 2011-07-13 12:46:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6930 * omx/gstomxvideodec.c:
6931 omxvideodec: Set SYNCFRAME flag on the OMX buffers for non-delta units
6933 2011-07-13 12:37:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6935 * omx/gstomxvideodec.c:
6936 omxvideodec: Free all pending frames when resetting the decoder
6937 Workaround for https://bugzilla.gnome.org/show_bug.cgi?id=654529
6939 2011-07-13 09:59:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6941 * omx/gstomxvideodec.c:
6942 omxvideodec: Handle output buffers without a corresponding GstVideoFrame more gracefully
6943 This can happen on EOS in some cases and when the input is not
6946 2011-07-13 09:31:22 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6948 * omx/gstomxvideodec.c:
6949 omxvideodec: Fix deadlock when finishing old frames that are left over by the decoder
6951 2011-07-12 11:37:28 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6953 * omx/gstomxh264dec.c:
6954 omxh264dec: It's called H.264, not H264
6956 2011-07-12 11:36:42 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6958 * omx/gstomxh264dec.c:
6959 * omx/gstomxmpeg4videodec.c:
6960 * omx/gstomxvideodec.c:
6961 * omx/gstomxvideodec.h:
6962 omxvideodec: Make sink/src pad template caps configurable
6964 2011-07-12 11:13:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6967 omx: Allow to set a preferred configuration directory with the GST_OMX_CONFIG_DIR environment variable
6969 2011-07-12 10:55:57 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6971 * omx/gstomxh264dec.c:
6972 * omx/gstomxmpeg4videodec.c:
6973 * omx/gstomxvideodec.c:
6974 omxvideodec: Make core/component-name and in/outport index configurable
6976 2011-07-12 10:05:31 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6981 omx: Add initial version of configuration system
6982 This now only registers elements that are specified in the
6984 The configuration file is a keyfile in the first XDG configuration
6985 directory with the name gstomx.conf.
6987 2011-07-12 08:53:15 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6991 * omx/gstomxh264dec.c:
6992 * omx/gstomxh264dec.h:
6993 * omx/gstomxh264videodec.h:
6994 omxh264dec: Rename from omxh264videodec to omxh264dec
6996 2011-07-12 08:40:48 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6998 * omx/gstomxh264videodec.c:
6999 omxh264videodec: Require alignment=au and stream-format={avc,bytestream}
7001 2011-07-11 12:59:07 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7003 * omx/gstbasevideodecoder.c:
7004 basevideodecoder: First inform subclass about resetting before resetting/freeing all internal state
7005 The subclass might want to access the old state.
7007 2011-07-11 12:36:42 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7009 * omx/gstbasevideodecoder.c:
7010 basevideodecoder: Track present position on discont before resetting it
7012 2011-07-11 11:52:33 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7014 * omx/gstbasevideodecoder.c:
7015 basevideodecoder: Also protect the list of pending frames from concurrent access when pushing all pendings events
7017 2011-07-11 11:28:40 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7019 * omx/gstbasevideocodec.c:
7020 * omx/gstbasevideocodec.h:
7021 * omx/gstbasevideodecoder.c:
7022 basevideocodec: Protect access to the list of pending frames with the object lock
7023 This is required if ::finish_frame() and all buffer output happens
7024 on a different thread than the sinkpad streaming thread.
7026 2011-07-11 09:35:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7028 * omx/gstbasevideodecoder.c:
7029 basevideodecoder: Set the correct lists to NULL after freeing
7031 2011-07-11 08:54:53 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7033 * omx/gstbasevideodecoder.c:
7034 basevideodecoder: Work with a copy of the GstVideoState in setcaps until the caps are accepted
7035 Also fix a refcount problem with the codec_data.
7037 2011-07-12 08:34:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7041 * omx/gstomxh264videodec.c:
7042 * omx/gstomxh264videodec.h:
7043 omxh264videodec: Add h.264 video decoder
7045 2011-07-12 08:29:15 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7047 * omx/gstomxmpeg4videodec.c:
7048 omxmpeg4videodec: Fix debug category name
7050 2011-07-09 11:41:42 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7053 * omx/gstbasevideocodec.h:
7054 * omx/gstbasevideodecoder.c:
7055 * omx/gstbasevideoencoder.c:
7056 * omx/gstbasevideoutils.c:
7057 * omx/gstbasevideoutils.h:
7058 basevideo: Move the utils from the codec header to its own header
7060 2011-07-09 11:32:06 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7062 * omx/gstbasevideocodec.c:
7063 * omx/gstbasevideodecoder.c:
7064 basevideo: Use GSlice for allocating GstVideoFrame and don't duplicate code in the decoder base class
7066 2011-07-09 11:05:37 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7068 * omx/gstomxvideodec.c:
7069 omxvideodec: Use the destroy notify to free the coder_hook
7071 2011-07-09 10:57:52 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7073 * omx/gstbasevideocodec.c:
7074 * omx/gstbasevideocodec.h:
7075 * omx/gstbasevideodecoder.c:
7076 basevideo: Add destroy notify for the coder_hook to prevent memory leaks
7079 2011-07-09 10:44:16 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7082 basevideo: Fix GType names to not conflict with the public video base classes
7083 It's still not possible to include headers of both in the same file
7084 or compile/link both into the same plugin but that shouldn't be
7087 2011-07-08 15:42:56 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7089 * omx/gstomxvideodec.c:
7090 omxvideodec: Fix some minor memory leaks
7092 2011-07-08 15:25:07 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7096 * omx/gstomxvideodec.c:
7097 omx: Rework port reconfiguration
7098 We always reconfigure all ports now if the settings of one
7099 port changes to prevent lots of race conditions, dropped
7100 frames and similar issues.
7102 2011-07-08 13:16:45 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7104 * omx/gstomxvideodec.c:
7105 * omx/gstomxvideodec.h:
7106 omxvideodec: Use the frames storage of the base class instead of implementing our own
7107 They could get out of sync and we could store already destroyed frames.
7109 2011-07-07 12:51:03 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7112 omx: Clarify GQueue/GPtrArray element types
7114 2011-07-07 12:23:24 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7118 * omx/gstomxvideodec.c:
7119 omx: Add more checks to acquire_buffer() and return the current state additional to the buffer
7120 Also refactor the code flow in the video decoder for this. This makes
7121 the usage of acquire_buffer() easier and more atomic.
7123 2011-07-07 12:22:57 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7125 * omx/gstomxvideodec.c:
7126 omxvideodec: Also flush/unflush the input port when changing the state PAUSED<->READY
7128 2011-07-07 12:21:31 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7131 omx: Don't broadcast port->port_cond after allocating buffers successfully
7132 Allocating buffers must happen while no thread is waiting for the
7133 cond and especially must happen from the thread that would acquire
7134 buffers from the port.
7136 2011-07-07 11:27:15 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7138 * omx/gstomxvideodec.c:
7139 omxvideodec: Don't leak the codec_data after sending it
7141 2011-07-07 10:27:31 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7144 omx: Always check if the component is in an error state before waiting for a condition variable to be signalled
7145 Otherwise we might wait forever because nothing is going to signal
7146 the condition variable anymore.
7148 2011-07-07 10:22:12 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7151 omx: Always hold port->port_lock before signalling port->port_cond when notifying about errors
7152 Otherwise a port might be in the critical section, has checked the error state
7153 already but waits after port->port_cond is signalled, which will lead
7156 2011-07-07 10:07:43 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7158 * omx/gstomxvideodec.c:
7159 omxvideodec: Remove reconfiguration test hack
7161 2011-07-06 13:27:12 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7164 omx: Improve debug output a bit
7166 2011-07-06 13:26:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7169 omx: Always try to deallocate buffers, even if there's a component error
7171 2011-07-06 13:26:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7174 omx: Use G_USEC_PER_SEC for clarity instead of 1000000
7176 2011-07-06 13:19:15 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7178 * omx/gstomxvideodec.c:
7179 omxvideodec: Error out if the GStreamer allocated buffer is smaller than the OpenMAX output buffer
7180 Usually this must never happen but currently it happens during reconfigurations
7181 because of a race condition. Still it's better than crashing.
7183 2011-07-06 10:40:13 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7187 omx: Don't use port_def.bEnabled to check if the Enable/Disable command is finished
7188 bEnabled should be set immediately after sending the command, it's only
7189 Bellagio that waits until the command is finished before setting it.
7191 2011-07-06 10:30:11 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7193 * omx/gstomxvideodec.c:
7194 omxvideodec: Remove obsolete FIXME comment
7196 2011-07-06 10:29:54 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7200 omx: Improve error handling and reporting
7202 2011-07-06 08:48:37 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7204 * omx/gstomxmpeg4videodec.c:
7205 * omx/gstomxvideodec.c:
7206 * omx/gstomxvideodec.h:
7207 omxvideodec: Make the inport and outport index configurable by the subclass
7209 2011-06-28 08:51:23 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7214 * omx/gstomxmpeg4videodec.c:
7215 * omx/gstomxmpeg4videodec.h:
7216 * omx/gstomxvideodec.c:
7217 * omx/gstomxvideodec.h:
7218 omx: Add initial version of OpenMAX framework, video decoder base class and MPEG4 video decoder
7219 This currently hardcodes a lot of stuff but works at least.
7220 Also adds a generic framework for handling OpenMAX cores, components
7223 2011-06-28 11:47:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7225 * omx/gstbasevideocodec.c:
7226 * omx/gstbasevideocodec.h:
7227 * omx/gstbasevideodecoder.c:
7228 * omx/gstbasevideodecoder.h:
7229 basevideodecoder: Don't reorder serialized src events
7230 And allow to drop EOS by the subclass if ::finish returns
7234 2011-06-27 09:41:40 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7236 * omx/gstbasevideocodec.c:
7237 * omx/gstbasevideocodec.h:
7238 * omx/gstbasevideodecoder.c:
7239 basevideo: Add the caps to the GstVideoState and clean up caps/codec_data properly
7241 2011-06-27 09:37:03 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7243 * omx/gstbasevideocodec.c:
7244 * omx/gstbasevideocodec.h:
7245 * omx/gstbasevideodecoder.c:
7246 * omx/gstbasevideodecoder.h:
7247 * omx/gstbasevideoencoder.c:
7248 * omx/gstbasevideoencoder.h:
7249 * omx/gstbasevideoutils.c:
7250 basevideo: Add video encoder/decoder base classes from gst-plugins-bad
7252 2011-06-21 11:17:35 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7254 * omx/openmax/OMX_Audio.h:
7255 * omx/openmax/OMX_Component.h:
7256 * omx/openmax/OMX_ComponentExt.h:
7257 * omx/openmax/OMX_ContentPipe.h:
7258 * omx/openmax/OMX_Core.h:
7259 * omx/openmax/OMX_CoreExt.h:
7260 * omx/openmax/OMX_IVCommon.h:
7261 * omx/openmax/OMX_Image.h:
7262 * omx/openmax/OMX_Index.h:
7263 * omx/openmax/OMX_IndexExt.h:
7264 * omx/openmax/OMX_Other.h:
7265 * omx/openmax/OMX_Types.h:
7266 * omx/openmax/OMX_Video.h:
7267 * omx/openmax/OMX_VideoExt.h:
7268 openmax: Add OpenMAX IL 1.1.2 headers