1 === release 1.11.90 ===
3 2017-04-07 Sebastian Dröge <slomo@coaxion.net>
8 2017-04-07 14:27:23 +0300 Sebastian Dröge <sebastian@centricular.com>
10 * omx/gstomxvideoenc.c:
11 omxvideoenc: Fix compiler warning
12 gstomxvideoenc.c: In function ‘gst_omx_video_enc_fill_buffer’:
13 CC libgstomx_la-gstomxaacdec.lo
14 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=]
15 GST_LOG_OBJECT (self, "Matched strides - direct copy %u bytes",
17 outbuf->omx_buf->nFilledLen);
20 2017-03-22 17:18:09 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
23 meson: fix logic to set HAVE_THEORA
24 https://bugzilla.gnome.org/show_bug.cgi?id=780392
26 2017-03-14 03:02:06 +1100 Jan Schmidt <thaytan@noraisin.net>
28 * omx/gstomxvideoenc.c:
29 omxvideoenc: Add an unimplemented mapping for RGBA formats
30 Add some pixel formats mappings for 2 RGBA formats. Not yet
31 implemented in the buffer input code though, so no effect for now.
33 2017-03-14 03:00:49 +1100 Jan Schmidt <thaytan@noraisin.net>
37 * omx/gstomxvideoenc.c:
38 omxvideoenc: Add GST_OMX_HACK_HEIGHT_MULTIPLE_16 for Rpi
39 The Raspberry Pi encoder produces corrupt output unless
40 the input height is a multiple of 16. Add a hack that adds
41 zero padding when needed.
43 2017-03-14 02:42:15 +1100 Jan Schmidt <thaytan@noraisin.net>
45 * omx/gstomxvideoenc.c:
46 omxvideoenc: Add a mapping for OMX_COLOR_FormatYUV420PackedSemiPlanar
49 2017-03-14 02:40:24 +1100 Jan Schmidt <thaytan@noraisin.net>
51 * omx/gstomxvideoenc.c:
52 omxvideoenc: Filter out unimplemented formats
53 Don't announce pixel formats in the caps if they've not been
56 2017-03-14 02:34:36 +1100 Jan Schmidt <thaytan@noraisin.net>
58 * omx/gstomxvideodec.c:
59 omxvideodec: demote ERROR message
60 There's no need to warn about failing to negotiate EGL output
61 - that can be perfectly normal.
63 2017-02-24 16:00:29 +0200 Sebastian Dröge <sebastian@centricular.com>
68 2017-02-24 15:38:17 +0200 Sebastian Dröge <sebastian@centricular.com>
73 === release 1.11.2 ===
75 2017-02-24 15:10:17 +0200 Sebastian Dröge <sebastian@centricular.com>
84 2017-02-15 18:22:53 +0000 Tim-Philipp Müller <tim@centricular.com>
87 meson: dist meson build files
88 Ship meson build files in tarballs, so people who use tarballs
89 in their builds can start playing with meson already.
91 2017-01-13 16:23:12 +0000 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
94 omxaacenc: let encoder know about incoming rate/channels
95 https://bugzilla.gnome.org/show_bug.cgi?id=777223
97 2017-01-18 02:43:44 +1100 Matthew Waters <matthew@centricular.com>
99 * config/bellagio/meson.build:
100 * config/meson.build:
101 * config/rpi/meson.build:
102 * examples/egl/meson.build:
103 * examples/meson.build:
104 * hooks/pre-commit.hook:
108 build: add meson build definition
109 Currently only been tested on the RPi within gst-build.
111 2017-01-18 15:21:35 +1100 Matthew Waters <matthew@centricular.com>
113 * examples/egl/testegl.c:
114 examples/testegl: update for libgstgl changes
116 2017-01-12 16:33:09 +0200 Sebastian Dröge <sebastian@centricular.com>
121 === release 1.11.1 ===
123 2017-01-12 16:26:55 +0200 Sebastian Dröge <sebastian@centricular.com>
132 2017-01-10 15:29:08 +0000 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
134 * omx/gstomxaudioenc.c:
135 omxaudioenc: set base class format instead of just source pad caps
137 2016-12-18 19:46:55 +0000 Graham Leggett <minfrin@sharp.fm>
139 * omx/gstomxaudiodec.c:
140 * omx/gstomxvideodec.c:
141 omx*dec: Flush before we stop the srcpad loop
142 Flushing could otherwise hang if output port queue of pending buffers was empty
143 https://bugzilla.gnome.org/show_bug.cgi?id=774654
145 2016-12-14 13:29:08 -0800 Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
148 Fix broken build due to syntax error
149 Problem was introduced by 8716c23e2b0553db2982eb84c437f493c974385e
151 2016-12-12 11:12:48 +0000 Graham Leggett <minfrin@sharp.fm>
154 Prevent early EOS by resetting eos flag once GST_OMX_ACQUIRE_BUFFER_EOS is triggered
155 https://bugzilla.gnome.org/show_bug.cgi?id=774600
157 2016-12-12 11:09:15 +0000 Graham Leggett <minfrin@sharp.fm>
160 Add clear debug logging on all the paths out of gst_omx_port_acquire_buffer()
161 https://bugzilla.gnome.org/show_bug.cgi?id=774600
163 2016-12-01 18:23:50 +0100 George Kiagiadakis <george.kiagiadakis@collabora.com>
165 * config/rpi/gstomx.conf:
168 Add a signals-premature-eos hack for egl_render
169 egl_render seems to have a bug and signals EOS before it has finished
170 pushing out all data; this hack simply makes acquire_buffer() wait
171 a bit more before signalling EOS, in case egl_render decides to spit
173 https://bugzilla.gnome.org/show_bug.cgi?id=741856
175 2016-12-11 19:52:37 +0000 Graham Leggett <minfrin@sharp.fm>
178 Add support for OMX_COLOR_FormatYUV420PackedSemiPlanar and OMX_COLOR_Format24bitBGR888
179 https://bugzilla.gnome.org/show_bug.cgi?id=775959
181 2016-12-03 08:20:46 +0100 Edward Hervey <bilboed@bilboed.com>
184 Automatic update of common submodule
185 From ac2f647 to 39ac2f5
187 2016-11-26 11:27:58 +0000 Tim-Philipp Müller <tim@centricular.com>
190 common: use https protocol for common submodule
191 https://bugzilla.gnome.org/show_bug.cgi?id=775110
193 2016-11-25 23:56:06 +0200 Sebastian Dröge <sebastian@centricular.com>
196 omx: Fix compiler warning with latest clang
197 gstomx.c:1376:42: error: implicit conversion from enumeration type 'GstOMXAcquireBufferReturn' to different enumeration type 'OMX_ERRORTYPE'
198 (aka 'enum OMX_ERRORTYPE') [-Werror,-Wenum-conversion]
199 g_return_val_if_fail (!port->tunneled, GST_OMX_ACQUIRE_BUFFER_ERROR);
200 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
201 https://bugzilla.gnome.org/show_bug.cgi?id=775112
203 2016-11-17 19:56:35 +1100 Matthew Waters <matthew@centricular.com>
205 * omx/gstomxvideodec.c:
206 videodecoder: remove use of EGLImage orientation
207 New code should use GstVideoTransformationMeta
208 (The defaults do the right thing here though).
210 === release 1.11.0 ===
212 2016-11-01 18:53:25 +0200 Sebastian Dröge <sebastian@centricular.com>
217 === release 1.10.0 ===
219 2016-11-01 18:20:48 +0200 Sebastian Dröge <sebastian@centricular.com>
228 === release 1.9.90 ===
230 2016-09-30 13:04:51 +0300 Sebastian Dröge <sebastian@centricular.com>
240 2016-09-14 11:33:13 +0200 Sebastian Dröge <sebastian@centricular.com>
243 configure: Depend on gstreamer 1.9.2.1
245 2016-09-12 14:09:46 +0200 Sebastian Dröge <sebastian@centricular.com>
249 omx: Also search for gstomx.conf in the autoconf --sysconfdir
250 https://bugzilla.gnome.org/show_bug.cgi?id=770743
252 2016-09-10 20:52:10 +1000 Jan Schmidt <jan@centricular.com>
256 Automatic update of common submodule
257 From b18d820 to f980fd9
259 2016-09-10 09:58:16 +1000 Jan Schmidt <jan@centricular.com>
263 Automatic update of common submodule
264 From ac2f647 to b18d820
266 2016-09-01 12:36:09 +0300 Sebastian Dröge <sebastian@centricular.com>
271 === release 1.9.2 ===
273 2016-09-01 12:35:58 +0300 Sebastian Dröge <sebastian@centricular.com>
283 2016-07-11 21:15:48 +0200 Stefan Sauer <ensonic@users.sf.net>
286 Automatic update of common submodule
287 From ac2f647 to f49c55e
289 2016-07-06 13:51:24 +0300 Sebastian Dröge <sebastian@centricular.com>
294 === release 1.9.1 ===
296 2016-07-06 13:48:45 +0300 Sebastian Dröge <sebastian@centricular.com>
306 2016-06-29 16:37:43 +0900 Kazunori Kobayashi <kkobayas@igel.co.jp>
308 * omx/gstomxvideodec.c:
309 omxvideodec: Use GST_VIDEO_FRAME_PLANE_STRIDE() to get output buffer's stride
310 GST_VIDEO_FRAME_PLANE_STRIDE() should be used to get the actual buffer stride,
311 as reported in the buffers's GstVideoMeta, when copying data to that buffer.
312 https://bugzilla.gnome.org/show_bug.cgi?id=768173
314 2016-06-21 11:48:40 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
317 Automatic update of common submodule
318 From ac2f647 to f363b32
320 2016-06-21 11:43:13 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
322 * omx/gstomxaudioenc.c:
323 omxaudioenc: implement GstPreset interface
324 To allow user to use GstPreset to quickly save and load a set of
326 https://bugzilla.gnome.org/show_bug.cgi?id=767907
328 2016-06-21 11:41:15 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
330 * omx/gstomxvideoenc.c:
331 omxvideoenc: implement GstPreset interface
332 To allow user to use GstPreset to quickly save and load a set of
334 https://bugzilla.gnome.org/show_bug.cgi?id=767907
336 2016-06-17 12:06:48 +0300 Sebastian Dröge <sebastian@centricular.com>
340 * omx/gstomxaudiodec.c:
341 * omx/gstomxaudioenc.c:
343 * omx/gstomxvideodec.c:
344 * omx/gstomxvideoenc.c:
345 omx: #define OMX_SKIP64BIT on the RPi as required by their API
346 Also add generic support for OMX_SKIP64BIT to gst-omx, in case other
347 implementations also #define that for whatever reason.
348 https://bugzilla.gnome.org/show_bug.cgi?id=766475
350 2016-06-17 10:59:45 +0300 Sebastian Dröge <sebastian@centricular.com>
352 * omx/gstomxvideodec.c:
353 omxvideodec: Implement ::drain() virtual method
354 https://bugzilla.gnome.org/show_bug.cgi?id=767641
356 2016-06-04 19:31:45 +0100 Tim-Philipp Müller <tim@centricular.com>
359 configure: remove AG_GST_PARSE_SUBSYSTEM_DISABLES
360 This would check which subsystems are disabled in core by grepping
361 gstconfig.h. Only problem is: gstconfig.h has moved into libdir now
362 so we've been checking a non-existent file for a while now. The
363 macro would just sets GST_DISABLE_* for use in configure.ac and
364 Makefile.am, but we don't use that anywhere so just get rid of it
365 (the one place where we use GST_DISABLE_GST_DEBUG is in a .c file
366 which gets the define from the gstconfig.h include).
367 https://bugzilla.gnome.org/show_bug.cgi?id=750056
369 2016-01-20 03:10:38 +0900 Gwang Yoon Hwang <yoon@igalia.com>
371 * examples/egl/testegl.c:
372 * omx/gstomxvideodec.c:
373 omxvideodec : Use gstglmemoryegl for the RPi
374 Modified to use gstglmemoryegl to avoid texture creation/copy operations
376 [Matthew Waters]: gst-indent the sources and port testegl to GstGLMemoryEGL
377 https://bugzilla.gnome.org/show_bug.cgi?id=760918
379 2016-04-14 10:04:32 +0100 Julien Isorce <j.isorce@samsung.com>
382 Automatic update of common submodule
383 From 6f2d209 to ac2f647
385 2016-02-26 12:42:41 +0200 Sebastian Dröge <sebastian@centricular.com>
388 Automatic update of common submodule
389 From b64f03f to 6f2d209
391 2016-02-17 20:51:03 +1100 Matthew Waters <matthew@centricular.com>
393 * examples/egl/testegl.c:
394 examples: update egl example for gstgl API changes
395 https://bugzilla.gnome.org/show_bug.cgi?id=762053
396 https://bugzilla.gnome.org/show_bug.cgi?id=753917
398 2016-02-05 18:11:06 -0300 Thiago Santos <thiagoss@osg.samsung.com>
402 Automatic update of common submodule
403 From 86e4663 to b64f03f
405 2015-12-21 00:43:49 +0100 Koop Mast <kwm@rainbow-runner.nl>
408 configure: Make -Bsymbolic check work with clang.
409 Update the -Bsymbolic check with the version glib has. This version
411 https://bugzilla.gnome.org/show_bug.cgi?id=759713
413 2015-12-07 09:11:32 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
417 Automatic update of common submodule
418 From b319909 to 86e4663
420 2015-11-18 13:00:28 +0000 Enrique Ocaña González <eocanha@igalia.com>
423 Remember the last_error after a failed set state call to avoid blocking the next get state call
424 gst_omx_video_dec_flush() blocks forever in
425 http://cgit.freedesktop.org/gstreamer/gst-omx/tree/omx/gstomxvideodec.c?id=9adf0ff82903cad5331e40975ae91ed5d11bc102#n2110
426 when the previous call to gst_omx_component_set_state() fails in
427 http://cgit.freedesktop.org/gstreamer/gst-omx/tree/omx/gstomx.c?id=9adf0ff82903cad5331e40975ae91ed5d11bc102#n827.
428 To mitigate that, I set "last_error" to true, so the code in
429 http://cgit.freedesktop.org/gstreamer/gst-omx/tree/omx/gstomx.c?id=9adf0ff82903cad5331e40975ae91ed5d11bc102#n862
430 exits early and doesn't block.
431 https://bugzilla.gnome.org/show_bug.cgi?id=758274
433 2015-11-18 12:59:59 +0000 Enrique Ocaña González <eocanha@igalia.com>
435 * omx/gstomxaudiodec.c:
436 * omx/gstomxaudioenc.c:
437 * omx/gstomxvideodec.c:
438 * omx/gstomxvideoenc.c:
439 Properly handle drain requests while flushing
440 Without this commit the decoder streaming thread stops without ever attending
441 the drain request, leaving the decoder input thread waiting forever.
442 https://bugzilla.gnome.org/show_bug.cgi?id=758274
444 2015-11-10 10:42:35 +0100 Nicolas Huet <nicolas.huet@parrot.com>
447 omx: fix hacks leak on class init
449 2015-10-21 14:37:13 +0100 Tim-Philipp Müller <tim@centricular.com>
452 Automatic update of common submodule
453 From b99800a to b319909
455 2015-10-21 14:28:41 +0300 Sebastian Dröge <sebastian@centricular.com>
458 Automatic update of common submodule
459 From 9aed1d7 to b99800a
461 2015-09-01 16:08:11 -0300 Thiago Santos <thiagoss@osg.samsung.com>
463 * omx/gstomxaacdec.c:
464 omxaacdec: Do not accept unknown layouts
465 It was defaulting to RAW when an unknown layout was received but
466 the caps template would actually forbid that on the caps query
467 or accept-caps anyway.
469 2015-09-01 08:59:54 -0300 Thiago Santos <thiagoss@osg.samsung.com>
471 * omx/gstomxaudiodec.c:
472 omxaudiodec: use default pad accept-caps handling
473 Instead of the audiodecoder one. The OMX audioo decoders have their
474 valid input in the template pad, so just check against that to
475 avoid doing a query downstream.
477 2015-08-28 12:57:33 -0300 Thiago Santos <thiagoss@osg.samsung.com>
479 * omx/gstomxvideodec.c:
480 omxvideodec: use default pad accept-caps handling
481 Instead of the videodecoder one. The OMX video decoders have their
482 valid input in the template pad, so just check against that to
483 avoid doing a query downstream.
485 2015-08-22 15:54:55 +0000 Graham Leggett <minfrin@sharp.fm>
487 * omx/gstomxvideoenc.c:
488 omxvideoenc: Add keyframe support for the Rpi, using OMX_IndexConfigBrcmVideoRequestIFrame
489 https://bugzilla.gnome.org/show_bug.cgi?id=753085
491 2015-08-20 17:20:50 +0900 Vineeth TM <vineeth.tm@samsung.com>
493 * examples/egl/testegl.c:
494 gst-omx: Fix memory leaks when context parse fails
495 When g_option_context_parse fails, context and error variables are not getting free'd
496 which results in memory leaks. Free'ing the same.
497 And replacing g_error_free with g_clear_error, which checks if the error being passed
498 is not NULL and sets the variable to NULL on free'ing.
499 https://bugzilla.gnome.org/show_bug.cgi?id=753865
501 2015-08-16 14:53:42 +0200 Philippe Normand <philn@igalia.com>
503 * omx/gstomxh264dec.c:
504 omxh264dec: implement is_format_change
505 The omxvideodecoder class only checks some of the caps parameters but if
506 other fields change such as h264 profile and/or level it wouldn't trigger a
508 https://bugzilla.gnome.org/show_bug.cgi?id=752376
510 2015-07-03 00:26:48 +0200 Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>
512 * omx/gstomxvideodec.c:
513 omxvideodec: unref allocator after getting it from allocation query
514 Otherwise a reference will be leaked for each allocator. It only happens
515 when target platform is Raspberry Pi and when we have GL support.
516 https://bugzilla.gnome.org/show_bug.cgi?id=751867
518 2015-07-03 21:59:54 +0200 Stefan Sauer <ensonic@users.sf.net>
521 Automatic update of common submodule
522 From f74b2df to 9aed1d7
524 2015-06-16 17:50:14 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
527 Automatic update of common submodule
528 From 6015d26 to f74b2df
530 2015-06-09 11:30:49 +0200 Edward Hervey <bilboed@bilboed.com>
533 Automatic update of common submodule
534 From d9a3353 to 6015d26
536 2015-06-08 23:08:28 +0200 Stefan Sauer <ensonic@users.sf.net>
539 Automatic update of common submodule
540 From d37af32 to d9a3353
542 2015-06-07 23:07:22 +0200 Stefan Sauer <ensonic@users.sf.net>
545 Automatic update of common submodule
546 From 21ba2e5 to d37af32
548 2015-06-07 17:32:25 +0200 Stefan Sauer <ensonic@users.sf.net>
551 Automatic update of common submodule
552 From c408583 to 21ba2e5
554 2015-06-07 17:16:43 +0200 Stefan Sauer <ensonic@users.sf.net>
558 Automatic update of common submodule
559 From c8fb372 to c408583
561 2015-05-19 18:21:40 +0300 Sebastian Dröge <sebastian@centricular.com>
563 * omx/gstomxaudiodec.c:
564 * omx/gstomxaudiodec.h:
565 omxaudiodec: Add an output adapter for chunking the output into codec frames
566 Otherwise the base class will be confused.
567 See https://bugzilla.gnome.org/show_bug.cgi?id=685730
569 2015-04-26 18:24:13 +0100 Tim-Philipp Müller <tim@centricular.com>
573 Remove obsolete Android build cruft
574 This is not needed any longer.
576 2015-04-22 10:40:22 +0200 Sebastian Dröge <sebastian@centricular.com>
580 autotools automatically generate this, and when using different versions
581 for autogen.sh there will always be changes to a file tracked by git.
583 2015-04-08 15:57:59 +0100 Tim-Philipp Müller <tim@centricular.com>
589 Add m4 directory so aclocal doesn't complain in autogen.sh
590 Might come in handy, and these warnings seem to be
591 fatal in some environments.
592 You may need to git clean -x -d -f your tree before
595 2015-04-07 22:25:57 +0100 Tim-Philipp Müller <tim@centricular.com>
599 Update autogen.sh to latest version
601 2015-04-03 18:58:17 +0100 Tim-Philipp Müller <tim@centricular.com>
604 Automatic update of common submodule
605 From bc76a8b to c8fb372
607 2015-03-06 12:12:49 +0000 Luis de Bethencourt <luis.bg@samsung.com>
609 * omx/gstomxaacdec.c:
610 omxaudiodec: add comment explaining duplicate code path
612 2015-03-06 12:09:06 +0000 Luis de Bethencourt <luis.bg@samsung.com>
614 * omx/gstomxaacdec.c:
615 Revert "omxaudiodec: remove duplicate code path"
616 This reverts commit a8d26ff27a8b43f589424a59294f9057641b2a46.
618 2015-03-06 12:03:56 +0000 Luis de Bethencourt <luis.bg@samsung.com>
621 omx: handle both errors in the two steps of update_port_definition
622 Also consider potential errors in the _get_parameter() in the return of the
623 update_port_definition function.
626 2015-03-06 10:57:53 +0000 Luis de Bethencourt <luis.bg@samsung.com>
628 * omx/gstomxaudioenc.c:
629 omxaudioenc: impossible if statement
630 ret is set to GST_STATE_CHANGE_SUCCESS and never touched, so it is impossible
631 for it to be anything else at the if check. Remove the if check.
634 2015-03-06 10:54:43 +0000 Luis de Bethencourt <luis.bg@samsung.com>
636 * omx/gstomxaudiodec.c:
637 omxaudiodec: impossible if statement
638 ret is set to GST_STATE_CHANGE_SUCCESS and never touched, so it is impossible
639 for it to be anything else at the if check. Remove it.
642 2015-03-06 10:50:30 +0000 Luis de Bethencourt <luis.bg@samsung.com>
644 * omx/gstomxaacdec.c:
645 omxaudiodec: remove duplicate code path
647 2014-12-19 11:19:55 +0200 George Kiagiadakis <george.kiagiadakis@collabora.com>
650 omx: call handle_messages() only once in acquire_buffer() to avoid potential deadlock
651 There is one rare case where calling handle_messages() more than once can cause a deadlock
652 in the video decoder element:
653 - sink pad thread starts the src pad task (gst_omx_video_dec_loop())
654 - _video_dec_loop() calls gst_omx_port_acquire_buffer() on dec_out_port
655 - blocks in gst_omx_component_wait_message() releasing comp->lock and comp->messages_lock
656 (initially, there are no buffers configured on that port, so it waits for OMX_EventPortSettingsChanged)
657 - the sink pad thread pushes a buffer to the decoder with gst_omx_port_release_buffer()
658 - _release_buffer() grabs comp->lock and sends the buffer to OMX, which consumes it immediately
659 - EmptyBufferDone gets called at this point, which signals _wait_message() to unblock
660 - the message from EmptyBufferDone is processed in gst_omx_component_handle_messages()
661 called from gst_omx_port_release_buffer()
662 - gst_omx_port_release_buffer releases comp->lock
663 - the src pad thread now gets to run, grabbing comp->lock while it exits from _wait_message()
664 - _acquire_buffer() calls the _handle_messages() on the next line after _wait_message(),
665 which does nothing (no pending messages)
666 - then it goes to "retry:" and calls _handle_messages() again, which also does nothing
667 (still no pending messages)
668 - scheduler switches to a videocore thread that calls EventHandler, informing us about the
669 OMX_EventPortSettingsChanged event that just arrived
670 - EventHandler graps comp->messages_lock, but not comp->lock, so it can run in parallel at
671 this point just fine.
672 - scheduler switches back to the src pad thread (which is in the middle of _acquire_buffer())
673 - the next _handle_messages() which is right before if (g_queue_is_empty (&port->pending_buffers))
674 processes the OMX_EventPortSettingsChanged
675 - the buffer queue is still empty, so that thread blocks again in _wait_message()
676 - the sink pad thread tries to acquire the next input port buffer
677 - _acquire_buffer() also blocks this thread in:
678 if (comp->pending_reconfigure_outports) { ... _wait_message() ... }
679 - DEADLOCK. gstreamer is waiting for omx to do something, omx waits for gstreamer to do something.
680 By removing those extra _handle_messages() calls, we can ensure that all the checks of
681 _acquire_buffer() will re-run. In the above case, after the scheduler switches back to
682 the middle of _acquire_buffer(), the code will enter _wait_message(), which will see that
683 there are pending messages and will return immediately, going back to "retry:" and
684 re-doing all the checks properly.
685 https://bugzilla.gnome.org/show_bug.cgi?id=741854
687 2015-02-26 09:27:44 +0900 Wonchul Lee <chul0812@gmail.com>
690 omx: cleanup code a bit to remove else statement
691 https://bugzilla.gnome.org/show_bug.cgi?id=745191
693 2015-01-12 16:13:35 +0100 Stefan Sauer <ensonic@users.sf.net>
696 Automatic update of common submodule
697 From f2c6b95 to bc76a8b
699 2014-12-18 10:56:15 +0100 Sebastian Dröge <sebastian@centricular.com>
702 Automatic update of common submodule
703 From ef1ffdc to f2c6b95
705 2014-11-27 17:12:42 +0100 Edward Hervey <bilboed@bilboed.com>
708 Automatic update of common submodule
709 From 7bb2bce to ef1ffdc
711 2014-11-13 09:55:02 +0900 Jun Ji <jun.ji@lge.com>
715 * omx/gstomxamrdec.c:
716 * omx/gstomxamrdec.h:
718 https://bugzilla.gnome.org/show_bug.cgi?id=739333
720 2014-10-27 18:00:50 +0100 Sebastian Dröge <sebastian@centricular.com>
723 Automatic update of common submodule
724 From 84d06cd to 7bb2bce
726 2014-10-21 13:03:44 +0100 Tim-Philipp Müller <tim@centricular.com>
729 Automatic update of common submodule
730 From a8c8939 to 84d06cd
732 2014-10-21 13:00:10 +0200 Stefan Sauer <ensonic@users.sf.net>
735 Automatic update of common submodule
736 From 1f5d3c3 to a8c8939
738 2014-09-30 10:47:20 +0300 Sebastian Dröge <sebastian@centricular.com>
740 * omx/gstomxaudiodec.c:
741 omxaudiodec: Clean up code a bit to get rid of useless NULL checks
743 2014-09-30 10:50:07 +0900 junji <jun.ji@lge.com>
745 * omx/gstomxaudiodec.c:
746 omxaudiodec: Unmap input buffers after usage
747 https://bugzilla.gnome.org/show_bug.cgi?id=736314
749 2014-08-31 20:30:13 +0000 Michal Lazo <michal.lazo@mdragon.org>
751 * omx/gstomxvideoenc.c:
752 omxvideoenc: Setup aspect ratio on RPi
753 Needs firmware from yesterday or newer to work with all possible
754 aspect ratios. Before that it only supported a fixed list.
755 https://bugzilla.gnome.org/show_bug.cgi?id=732533
757 2014-08-28 10:44:31 +0300 Sebastian Dröge <sebastian@centricular.com>
759 * omx/gstomxaudioenc.c:
760 omxaudioenc: Implement the hack flag GST_OMX_HACK_NO_COMPONENT_RECONFIGURE
762 2014-08-28 10:43:22 +0300 Sebastian Dröge <sebastian@centricular.com>
764 * omx/gstomxaudioenc.c:
765 omxaudioenc: Use the base class' open/close vfuncs instead of calling them ourselves
767 2014-08-26 22:13:53 -0500 Peng Liu <pengliu.mail@gmail.com>
769 * config/rpi/gstomx.conf:
770 * omx/gstomxvideoenc.c:
771 omxvideoenc: Implement the hack flag GST_OMX_HACK_NO_COMPONENT_RECONFIGURE
772 Fix a video encoder stall problem on RPi when changing the aspect ratio.
773 https://bugzilla.gnome.org/show_bug.cgi?id=732533
775 2014-08-14 17:36:11 +0300 Sebastian Dröge <sebastian@centricular.com>
777 * omx/gstomxaudiodec.c:
778 * omx/gstomxaudiodec.h:
779 * omx/gstomxaudioenc.c:
780 * omx/gstomxaudioenc.h:
781 * omx/gstomxvideodec.c:
782 * omx/gstomxvideodec.h:
783 * omx/gstomxvideoenc.c:
784 * omx/gstomxvideoenc.h:
785 omx: Let base classes handle EOS
786 https://bugzilla.gnome.org//show_bug.cgi?id=734774
788 2014-08-14 17:33:07 +0300 Sebastian Dröge <sebastian@centricular.com>
790 * omx/gstomxaudiodec.c:
791 omxaudiodec: Fix flushing logic and make it more similar to the video decoder
793 === release 1.2.0 ===
795 2014-07-23 11:28:12 +0200 Sebastian Dröge <sebastian@centricular.com>
805 2014-07-22 09:23:00 +0200 Sebastian Dröge <sebastian@centricular.com>
807 * config/bellagio/gstomx.conf:
808 * config/rpi/gstomx.conf:
809 config: Update ranks to PRIMARY+1 to have higher preference than avdec_*
810 See https://bugzilla.gnome.org/show_bug.cgi?id=732161
812 2014-07-20 17:46:30 +0200 Sebastian Dröge <sebastian@centricular.com>
814 * omx/gstomxaudiosink.c:
815 omxaudiosink: Set port to not flushing in prepare() and keep it at flushing in unprepare()
816 https://bugzilla.gnome.org/show_bug.cgi?id=733168
818 2014-07-13 22:15:18 +0200 Sebastian Dröge <sebastian@centricular.com>
820 * omx/gstomxaacdec.c:
821 * omx/gstomxaudiodec.c:
822 * omx/gstomxaudiodec.h:
823 * omx/gstomxmp3dec.c:
824 omxaudiodec: Implement setting of fallback channel positions
826 2014-07-13 18:22:39 +0200 Sebastian Dröge <sebastian@centricular.com>
830 * omx/gstomxaacdec.c:
831 * omx/gstomxaacdec.h:
832 * omx/gstomxmp3dec.c:
833 omx: Add AAC audio decoder
835 2014-07-02 09:22:28 +0200 Sebastian Dröge <sebastian@centricular.com>
837 * omx/gstomxaudiodec.c:
838 omxaudiodec: Get PCM parameters from the out port, not the in port
840 2014-05-15 13:24:39 +0200 Sebastian Dröge <sebastian@centricular.com>
842 * omx/gstomxaudiodec.c:
843 omxaudiodec: Implement hack for not disabling the output port after set_format until the output format is known
844 Needed on some OMX implementations, e.g. the one from Atmel. It does
845 not send the settings-changed event on the output port if it is
848 2014-05-10 23:12:54 +0200 Sebastian Dröge <sebastian@centricular.com>
852 * omx/gstomxaudiodec.c:
853 * omx/gstomxaudiodec.h:
854 * omx/gstomxmp3dec.c:
855 * omx/gstomxmp3dec.h:
856 omx: Add audio decoder base class and a subclass for MP3
858 2014-07-01 09:38:01 +0200 Sebastian Dröge <sebastian@centricular.com>
862 omx: Link to gmodule-2.0-no-export for being able to use the g_module_*() API
863 https://bugzilla.gnome.org/show_bug.cgi?id=732518
865 2014-06-30 15:00:54 +0200 Sebastian Dröge <sebastian@centricular.com>
867 * examples/egl/testegl.c:
868 examples: #define GST_USE_UNSTABLE_API for libgstgl
870 2014-06-29 19:10:19 +0200 Sebastian Dröge <sebastian@centricular.com>
872 * omx/gstomxh264enc.c:
873 * omx/gstomxh264enc.h:
874 omxh264enc: Properly accumulate headers and push before the next frame
875 Fixes output of encoding on RPi, where each header buffer (SPS and PPS)
876 is in a separate OMX buffer.
877 https://bugzilla.gnome.org/show_bug.cgi?id=726669
879 2014-06-29 19:04:54 +0200 Sebastian Dröge <sebastian@centricular.com>
881 * omx/gstomxvideoenc.c:
882 omxvideoenc: Implement flush() instead of the deprecated reset()
884 2014-06-25 17:14:18 +0200 Sebastian Dröge <sebastian@centricular.com>
886 * config/rpi/gstomx.conf:
887 rpi: It's 44100Hz, not 41400Hz
889 2014-06-25 11:12:51 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
892 configure.ac: require gstgl >= 1.3.3
894 2014-04-25 13:25:05 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
898 example: enable testegl
899 See https://bugzilla.gnome.org/show_bug.cgi?id=728940
901 2014-06-25 10:19:54 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
903 * examples/egl/testegl.c:
904 testegl: do matrix mutlplication in the shader
905 See https://bugzilla.gnome.org/show_bug.cgi?id=728940
907 2014-06-25 09:36:38 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
909 * examples/egl/testegl.c:
910 testegl: add a comment for the parse command
911 See https://bugzilla.gnome.org/show_bug.cgi?id=728940
913 2014-04-25 17:32:16 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
915 * examples/egl/Makefile.am:
916 * examples/egl/cube_texture_and_coords.h:
917 * examples/egl/testegl.c:
918 testegl: convert code from GLESv1 to GLESv2
919 See https://bugzilla.gnome.org/show_bug.cgi?id=728940
921 2014-04-25 13:21:59 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
923 * examples/egl/Makefile.am:
924 * examples/egl/testegl.c:
925 testegl: port to gstgl API
926 - append a glfilter just before fakesink
927 So that we get gltexture or eglimages
928 - propagate our EGLDisplay to the pipeline
929 see GST_QUERY_CONTEXT
930 - share our EGLContext with the iternal gl context
931 of the pipeline, see GST_QUERY_ALLOCATION
932 - use GstVideoGLTextureUploadMeta to upload
933 the incoming gltexture or eglimage to our gl texture
934 TODO: convert from GLESv1 to GLESv2
935 See https://bugzilla.gnome.org/show_bug.cgi?id=728940
937 2014-06-24 14:52:58 +0200 Sebastian Dröge <sebastian@centricular.com>
939 * omx/gstomxbufferpool.c:
940 * omx/gstomxbufferpool.h:
941 * omx/gstomxvideodec.c:
942 omxbufferpool: Copy buffers if the stride does not match and we can't use video meta
943 https://bugzilla.gnome.org/show_bug.cgi?id=731672
945 2014-06-24 14:52:43 +0200 Sebastian Dröge <sebastian@centricular.com>
949 * omx/gstomxvp8dec.h:
950 omx: Only include OMX_VideoExt.h conditionally
951 It does not exist on the RPi for example.
953 2014-06-24 13:59:44 +0200 Sebastian Dröge <sebastian@centricular.com>
956 configure.ac: Require GStreamer core/base >= 1.2.2
957 Needed at least for gst_video_decoder_release_frame().
959 2014-06-24 13:02:13 +0200 Sebastian Dröge <sebastian@centricular.com>
961 * omx/gstomxbufferpool.c:
962 omxbufferpool: Fix format string compiler warning
964 2014-06-22 21:11:45 +0000 Michal Lazo <xlazom00@gmail.com>
966 * omx/gstomxbufferpool.c:
967 omxbufferpool: Initialize debug category
969 2014-06-24 12:42:22 +0200 Sebastian Dröge <sebastian@centricular.com>
971 * omx/gstomxbufferpool.c:
972 omxbufferpool: Properly convert OMX alignment to GStreamer alignment
973 GStreamer uses a bitmask for the alignment while OMX uses the
974 alignment itself. Let's convert.
975 https://bugzilla.gnome.org/show_bug.cgi?id=710564
977 2014-06-24 11:11:28 +0200 Sebastian Dröge <sebastian@centricular.com>
979 * omx/gstomxh264enc.c:
980 omxh264enc: Don't let baseclass finish frames for SPS/PPS buffers
981 Otherwise we a) send them twice, and b) finish a frame for something
982 that does not even include a frame.
983 https://bugzilla.gnome.org/show_bug.cgi?id=726669
985 2014-06-24 10:22:37 +0200 Sebastian Dröge <sebastian@centricular.com>
988 omxvideo: Include the separate headers too for compatibility with 1.0.x
990 2014-03-24 16:09:40 +0800 Zhao, Halley <halley.zhao@intel.com>
993 * omx/gstomxvp8dec.h:
994 omxvp8dec: use VP8 definition from OMX_VideoExt.h
995 https://bugzilla.gnome.org/show_bug.cgi?id=726957
997 2014-03-24 15:33:26 +0800 Zhao, Halley <halley.zhao@intel.com>
1000 configure: add --with-omx-header-path option for external omx headers
1001 https://bugzilla.gnome.org/show_bug.cgi?id=726957
1003 2014-06-18 23:04:33 +0200 Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>
1005 * omx/gstomxvideodec.c:
1006 omxvideodec: fix a query leak
1007 Also add a debug message if query fails.
1008 https://bugzilla.gnome.org/show_bug.cgi?id=731898
1010 2014-05-30 15:29:15 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
1012 * omx/gstomxvideodec.c:
1013 omxvideodec: release frames with old PTS to avoid memory issue
1014 Interlaced stream could make the decoder use two input frames to produce
1015 one output frame causing the gstvideodecoder frame list to grow.
1016 Assuming the video decoder output frame in display order rather than in
1017 decoding order, this commit add a way to release frames with PTS less
1018 than current output frame.
1019 https://bugzilla.gnome.org/show_bug.cgi?id=730995
1021 2013-06-27 21:59:29 +0900 Kazunori Kobayashi <kkobayas@igel.co.jp>
1024 omx: Fix a missing g_free() in error path
1025 This fixes a memory leak with g_strdup() when an error occurs.
1026 https://bugzilla.gnome.org/show_bug.cgi?id=731141
1028 2014-06-02 15:34:09 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
1030 * omx/gstomxvideodec.c:
1031 omxvideodec: add missing stream unlock in error path
1033 2014-05-31 15:12:05 +0200 Sebastian Dröge <sebastian@centricular.com>
1036 omx: Don't handle disabling/enabling ports exactly like flushing
1037 Otherwise we might abort a flush operation in another thread when
1038 enabling/disabling ports, leading to deadlocks sometimes.
1039 https://bugzilla.gnome.org/show_bug.cgi?id=730989
1041 2014-05-26 11:02:10 +0200 Sebastian Dröge <sebastian@centricular.com>
1043 * omx/gstomxvideodec.c:
1044 omxvideodec: Don't leak buffer pool config in error cases
1047 2014-05-21 10:53:43 +0200 Sebastian Dröge <sebastian@centricular.com>
1050 Automatic update of common submodule
1051 From 211fa5f to 1f5d3c3
1053 2014-05-19 09:10:07 +0200 Sebastian Dröge <sebastian@centricular.com>
1055 * omx/gstomxvideoenc.c:
1056 omxvideoenc: Don't forget to unref codec state
1059 2014-05-19 09:08:33 +0200 Sebastian Dröge <sebastian@centricular.com>
1061 * omx/gstomxvideodec.c:
1062 omxvideodec: Make output buffer pointer always initialized
1065 2014-05-19 09:06:42 +0200 Sebastian Dröge <sebastian@centricular.com>
1067 * omx/gstomxvideodec.c:
1068 omxvideodec: Check return value of gst_buffer_map()
1071 2014-05-19 09:04:09 +0200 Sebastian Dröge <sebastian@centricular.com>
1073 * omx/gstomxvideodec.c:
1074 omxvideodec: Check return value of gst_omx_port_set_enabled() for errors
1077 2014-05-19 09:01:46 +0200 Sebastian Dröge <sebastian@centricular.com>
1079 * omx/gstomxvideodec.c:
1080 omxvideodec: Check return values of buffer pool config parsing functions
1083 2014-05-19 08:48:50 +0200 Sebastian Dröge <sebastian@centricular.com>
1086 omx: Remove dead code, buf can never be NULL here as we just check for that the line above
1089 2014-05-19 08:47:36 +0200 Sebastian Dröge <sebastian@centricular.com>
1092 omx: Fix comparisons in gst_omx_state_to_string() case to actually make sense
1095 2014-05-19 08:45:10 +0200 Sebastian Dröge <sebastian@centricular.com>
1098 omx: Make sure to compare the error codes as unsigned integers so that comparisons >2**31 actually work
1101 2014-05-19 08:40:23 +0200 Sebastian Dröge <sebastian@centricular.com>
1104 omx: Fix comparisons in gst_omx_command_to_string() default cause to actually work
1107 2014-05-15 13:22:56 +0200 Sebastian Dröge <sebastian@centricular.com>
1109 * omx/gstomxaudioenc.c:
1110 omxaudioenc: Implement hack for not disabling the output port after set_format until the output format is known
1111 Needed on some OMX implementations, e.g. the one from Atmel. It does
1112 not send the settings-changed event on the output port if it is
1115 2014-05-15 13:21:07 +0200 Sebastian Dröge <sebastian@centricular.com>
1117 * omx/gstomxvideoenc.c:
1118 omxvideoenc: Implement hack for not disabling the output port after set_format until the output format is known
1119 Needed on some OMX implementations, e.g. the one from Atmel. It does
1120 not send the settings-changed event on the output port if it is
1123 2014-05-15 10:58:34 +0200 Sebastian Dröge <sebastian@centricular.com>
1127 * omx/gstomxvideodec.c:
1128 omx: Add a hack for not disabling the output port after set_format until the output format is known
1129 Needed on some OMX implementations, e.g. the one from Atmel. It does
1130 not send the settings-changed event on the output port if it is
1133 2014-05-12 12:33:32 +0200 Josep Torra <n770galaxy@gmail.com>
1135 * omx/gstomxaudiosink.c:
1136 omxaudiosink: implement _delay only in the RaspberryPI
1137 Make code implementation conditionally built for RaspberryPI because
1138 OMX_IndexConfigAudioRenderingLatency seems to be a Broadcom extension.
1139 On other targets the query position might not be accurate without
1140 implementing _delay appropriatelly.
1142 2014-05-12 08:56:15 +0200 Sebastian Dröge <sebastian@centricular.com>
1144 * omx/gstomxaudioenc.c:
1145 omxaudioenc: Correctly scale nTickCount by OMX_TICKS_PER_SECOND
1147 2014-05-10 22:48:23 +0200 Sebastian Dröge <sebastian@centricular.com>
1149 * omx/gstomxaudioenc.c:
1150 omxaudioenc: Drain encoder on NULL buffer and don't drain on flushing
1152 2014-05-10 22:47:56 +0200 Sebastian Dröge <sebastian@centricular.com>
1154 * omx/gstomxvideodec.c:
1155 omxvideodec: Set nTickCount based on the buffer's duration instead of something wrong
1157 2014-05-10 22:47:21 +0200 Sebastian Dröge <sebastian@centricular.com>
1159 * omx/gstomxvideoenc.c:
1160 omxvideoenc: Set nTickCount to the whole duration of the buffer instead of a wrong calculation
1162 2014-05-10 22:46:51 +0200 Sebastian Dröge <sebastian@centricular.com>
1164 * omx/gstomxaudiosink.c:
1165 omxaudiosink: Fix format string compiler warnings
1167 2014-04-04 14:11:58 +0200 Josep Torra <n770galaxy@gmail.com>
1169 * config/rpi/gstomx.conf:
1172 * omx/gstomxanalogaudiosink.c:
1173 * omx/gstomxanalogaudiosink.h:
1174 * omx/gstomxaudiosink.c:
1175 * omx/gstomxaudiosink.h:
1176 * omx/gstomxhdmiaudiosink.c:
1177 * omx/gstomxhdmiaudiosink.h:
1178 omxaudiosink: Implements OpenMAX based audio sinks
1179 Provides omxanalogaudiosink and omxhdmiaudiosink elements on
1181 - omxanalogaudiosink is capable to render raw mono or stereo audio
1182 through the jack output.
1183 - omxhdmiaudiosink is capable to render raw audio up to 8 channels
1184 and transmit ac3/dts(IEC 61937) through the HDMI output.
1185 - sinks provide a clock derived from rendered samples
1186 - sinks support the GstStreamVolume interface by implementing
1187 the volume and mute properties.
1188 https://bugzilla.gnome.org/show_bug.cgi?id=728962
1190 2014-05-03 10:17:35 +0200 Sebastian Dröge <sebastian@centricular.com>
1193 Automatic update of common submodule
1194 From bcb1518 to 211fa5f
1196 2014-04-29 15:16:16 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
1198 * omx/gstomxvideodec.c:
1199 omxvideodec: can negotiate caps with memory:EGLImage feature when using EGLImage allocator
1200 Previously when using gst EGLImage allocator the caps was
1201 video/x-raw, format=RGBA instead of
1202 video/x-raw(memory:EGLImage), format=RGBA
1203 Kepp previous behavior in case negotiation fails with caps feature.
1204 It means it will still have a chance to use EGLImage even if the
1205 feature is not in the caps.
1206 https://bugzilla.gnome.org/show_bug.cgi?id=729196
1208 2014-04-23 09:57:48 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
1210 * omx/gstomxvp8dec.h:
1211 omxvp8dec: fix typo in GST_TYPE_OMX_VP8_DEC define
1212 https://bugzilla.gnome.org/show_bug.cgi?id=728774
1214 2014-04-16 11:00:55 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
1216 * omx/gstomxvideodec.c:
1217 omxvideodec: don't unref caps before logging field from it
1218 https://bugzilla.gnome.org/show_bug.cgi?id=728322
1220 2014-04-15 17:30:13 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
1224 example: disable testegl since libgstegl has been removed
1225 As decided in bug #703343
1226 Not compatible with the new libgstgl API.
1227 A portage has been started, attachment 272800.
1228 https://bugzilla.gnome.org/show_bug.cgi?id=703343
1230 2014-04-15 17:11:08 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
1232 * omx/gstomxvideodec.c:
1233 omxvideodec: use new libgstgl API since libgstegl has been removed
1234 There is no point to retrieve a ref/unref type
1235 instead of an EGLDisplay directly. It's like for EGLImage.
1236 https://bugzilla.gnome.org/show_bug.cgi?id=703343
1238 2014-04-15 17:06:38 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
1241 * examples/Makefile.am:
1243 * omx/gstomxvideodec.c:
1244 configure.ac: check for libgstgl since libgstegl has been removed
1245 https://bugzilla.gnome.org/show_bug.cgi?id=703343
1247 2014-04-09 18:52:16 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
1249 * omx/gstomxbufferpool.c:
1250 * omx/gstomxvideodec.c:
1251 omxvideodec: add support of more color format
1252 Add support for ABGR, ARGB, RGB16, BGR16, YUY2, UYVY, YVYU, GRAY8 and
1255 2014-04-09 18:51:57 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
1257 * omx/gstomxvideodec.c:
1258 omxvideodec: simplify color format conversion in fill_buffer function
1260 2014-04-09 18:51:41 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
1262 * omx/gstomxbufferpool.c:
1263 omxbufferpool: make video stride and offset calculation easier
1264 It will be easier to support more color format.
1266 2014-04-09 18:51:12 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
1268 * omx/gstomxvideo.c:
1269 * omx/gstomxvideo.h:
1270 * omx/gstomxvideodec.c:
1271 omx: add an helper to convert OMX color format to GStreamer color format
1273 2014-03-10 17:43:50 +0100 Josep Torra <n770galaxy@gmail.com>
1275 * examples/egl/testegl.c:
1276 * omx/gstomxvideodec.c:
1277 omxvideodec: Implement pipeline draining to support adaptive scenarios
1278 When draining due a format change also drain
1279 the pipeline to reclaim back all buffers.
1280 https://bugzilla.gnome.org/show_bug.cgi?id=726107
1282 2014-03-27 13:57:32 +0100 Josep Torra <n770galaxy@gmail.com>
1284 * examples/egl/testegl.c:
1285 examples: fix several memory leaks in the testegl example
1286 Ensure to call to image_data_free in order to release GPU resources.
1287 Also ensure to destroy EGLImage and GLTexture from proper
1289 https://bugzilla.gnome.org/show_bug.cgi?id=726107
1291 2014-03-25 17:16:31 +0000 Julien Isorce <julien.isorce@collabora.co.uk>
1293 * examples/egl/testegl.c:
1294 examples: keep a ref on the buffer instead of the memory
1296 https://bugzilla.gnome.org/show_bug.cgi?id=726107
1298 2014-03-07 20:08:05 +0100 Josep Torra <n770galaxy@gmail.com>
1300 * omx/gstomxvideodec.c:
1301 omxvideodec: fixes race condition during seeks
1302 Acording 6.1.3 Seek Event Sequence in the OpenMAX IL 1.1.2 spec
1303 document in order to flush the component it needs to be in
1305 https://bugzilla.gnome.org/show_bug.cgi?id=726038
1307 2014-01-29 18:31:26 +0000 Julien Isorce <julien.isorce@collabora.co.uk>
1309 * omx/gstomxvideodec.c:
1310 omxvideodec: use flush because reset is deprecated
1311 https://bugzilla.gnome.org/show_bug.cgi?id=726038
1313 2014-01-27 17:03:50 +0000 Julien Isorce <julien.isorce@collabora.co.uk>
1315 * omx/gstomxvideodec.c:
1316 omxvideodec: populate the most downstream output port on reset
1317 Make seeking work when using egl_render component
1318 https://bugzilla.gnome.org/show_bug.cgi?id=726038
1320 2014-03-24 17:49:59 +0100 Josep Torra <n770galaxy@gmail.com>
1322 * omx/gstomxbufferpool.c:
1323 omxbufferpool: return buffers to the pool instead of freeing them
1324 We have to return the buffers back to the pool in when stopping to
1325 not mess with the GstBufferPool accounting.
1326 The OMX buffers will be freed when those won't be in charge of the
1327 pool in the chained up call to 'stop'.
1328 Fixes segfaults on finalize and pool not being properly deactivated.
1329 https://bugzilla.gnome.org/show_bug.cgi?id=726337
1331 2014-03-19 12:12:49 +0100 Christian König <christian.koenig@amd.com>
1333 * omx/gstomxvideodec.c:
1334 omxvideodec: add missing unlock in the error path
1335 Signed-off-by: Christian König <christian.koenig@amd.com>
1336 https://bugzilla.gnome.org/show_bug.cgi?id=726958
1338 2014-03-18 23:36:59 +0100 Michal Lazo <xlazom00@gmail.com>
1340 * omx/gstomxh264enc.c:
1341 * omx/gstomxh264enc.h:
1344 2014-03-17 09:57:11 +0000 Julien Isorce <julien.isorce@collabora.co.uk>
1346 * omx/gstomxbufferpool.c:
1347 omxbufferpool: fix memory leak if used on output port
1348 When using GstOMXBufferPool on an output port, it internally uses
1349 a GPtrArray to manage the GstBuffers instead of the default queue
1350 from the GstBufferPool base class.
1351 In this case GstBufferPool::default_free_buffer is not called when
1352 the pool is stopped. Because the queue is empty. So explicitely
1353 call gst_omx_buffer_pool_free_buffer on each buffer contained in
1355 https://bugzilla.gnome.org/show_bug.cgi?id=726337
1357 2014-03-16 17:32:05 +0100 Sebastian Dröge <sebastian@centricular.com>
1359 * omx/gstomxh264enc.c:
1360 omxh264enc: Fix compiler warnings
1362 2014-03-16 17:19:08 +0100 Michal Lazo <xlazom00@gmail.com>
1364 * omx/gstomxh264enc.c:
1365 * omx/gstomxh264enc.h:
1366 omxh264enc: IDR interval, SPS and PPS headers for rpi
1367 https://bugzilla.gnome.org/show_bug.cgi?id=720031
1369 2014-03-13 14:26:58 +0100 Christian König <christian.koenig@amd.com>
1373 * omx/gstomxvideo.c:
1374 omxvideo: fix debug category initialisation
1375 https://bugzilla.gnome.org/show_bug.cgi?id=726024
1377 2014-03-13 19:04:47 +0100 Christian König <christian.koenig@amd.com>
1379 * omx/gstomxbufferpool.h:
1380 omxbufferpool: add proper type definitions
1381 https://bugzilla.gnome.org/show_bug.cgi?id=726325
1383 2014-03-02 10:30:04 +0100 Christian König <christian.koenig@amd.com>
1386 omx: consolidate message waiting code
1387 Add a wait_message helper function and remove all those duplicated code.
1388 https://bugzilla.gnome.org/show_bug.cgi?id=725493
1390 2014-03-12 12:48:12 +0100 Sebastian Dröge <sebastian@centricular.com>
1392 * omx/gstomxvideo.c:
1393 omx: Copy old copyright notice into the new file
1395 2014-03-12 12:47:34 +0100 Sebastian Dröge <sebastian@centricular.com>
1397 * omx/gstomxvideo.c:
1398 * omx/gstomxvideo.h:
1399 * omx/gstomxvideodec.c:
1400 * omx/gstomxvideoenc.c:
1401 omx: Rename function from _4_ to _for_ for clarity
1403 2014-03-03 16:15:24 +0100 Christian König <christian.koenig@amd.com>
1406 * omx/gstomxvideo.c:
1407 * omx/gstomxvideo.h:
1408 * omx/gstomxvideodec.c:
1409 * omx/gstomxvideoenc.c:
1410 omxvideo: start sharing more code between video decoder and encoder
1411 Identical functionality spread of two different components.
1412 We can't use a common base class because of different inheritance,
1413 but let's try to share the code anyway.
1414 https://bugzilla.gnome.org/show_bug.cgi?id=726024
1416 2014-03-12 12:43:49 +0100 Sebastian Dröge <sebastian@centricular.com>
1418 * examples/egl/Makefile.am:
1419 examples: Only build RPi EGL example if RPi was chosen as target
1421 2014-03-12 12:42:23 +0100 Sebastian Dröge <sebastian@centricular.com>
1423 * omx/gstomxbufferpool.h:
1424 omxbufferpool: Fix header include guard
1426 2014-03-05 11:41:02 +0100 Christian König <christian.koenig@amd.com>
1429 * omx/gstomxbufferpool.c:
1430 * omx/gstomxbufferpool.h:
1431 * omx/gstomxvideodec.c:
1432 omxvideodec: separate the buffer pool from the decoder
1433 https://bugzilla.gnome.org/show_bug.cgi?id=726025
1435 2014-03-04 17:41:20 +0100 Christian König <christian.koenig@amd.com>
1439 * omx/gstomxvideodec.c:
1440 omx: simplify tunnel functions
1441 Specifying the component is error prone and unnecessary.
1442 https://bugzilla.gnome.org/show_bug.cgi?id=726021
1444 2014-03-07 17:12:24 +0100 Christian König <christian.koenig@amd.com>
1446 * omx/gstomxvideodec.c:
1447 omxvideodec: fix memory leak in gst_omx_video_dec_allocate_output_buffers
1448 https://bugzilla.gnome.org/show_bug.cgi?id=725907
1450 2014-03-07 13:18:49 +0100 Christian König <christian.koenig@amd.com>
1452 * omx/gstomxvideodec.c:
1453 omxvideodec: fix memory leak gst_omx_video_dec_negotiate
1454 https://bugzilla.gnome.org/show_bug.cgi?id=725907
1456 2014-03-05 18:54:05 +0100 Christian König <christian.koenig@amd.com>
1458 * omx/gstomxvideoenc.c:
1459 omxvideoenc: fix a memory leak in gst_omx_video_enc_getcaps
1460 https://bugzilla.gnome.org/show_bug.cgi?id=725826
1462 2014-03-05 17:43:33 +0100 Josep Torra <n770galaxy@gmail.com>
1465 Makefile.am: build examples
1466 There's no reason to not build the examples now that are ported to 1.x.
1468 2014-03-05 17:25:09 +0100 Josep Torra <n770galaxy@gmail.com>
1470 * examples/egl/testegl.c:
1471 examples: avoid a clashing name with the recently added GstEGLImagePool
1472 Fixes build with current master.
1474 2013-09-05 03:41:10 -0600 Christian König <christian.koenig@amd.com>
1476 * omx/gstomxvideoenc.c:
1477 omxvideoenc: simplify _find_nearest_frame
1478 Just the same as we did with the decoder. Also give the
1479 function a gst_omx_video_enc prefix to distinct it from
1480 the decoder function.
1481 https://bugzilla.gnome.org/show_bug.cgi?id=724236
1483 2013-09-05 02:23:39 -0600 Christian König <christian.koenig@amd.com>
1485 * omx/gstomxvideodec.c:
1486 omxvideodec: simplify _find_nearest_frame
1487 No need to make it more complicated and error prone than
1488 necessary. Also give the function a gst_omx_video_dec prefix
1489 to distinct it from the encoder function.
1490 https://bugzilla.gnome.org/show_bug.cgi?id=724236
1492 2013-09-05 02:05:52 -0600 Christian König <christian.koenig@amd.com>
1494 * omx/gstomxvideodec.c:
1495 omxvideodec: remove dead code
1496 This code doesn't seems to be used for quite a while,
1497 remove it before it starts to rot.
1498 https://bugzilla.gnome.org/show_bug.cgi?id=724236
1500 2014-03-01 22:28:24 +0100 Christian König <christian.koenig@amd.com>
1503 omx: fix two serious message handling bugs
1504 Waiting for the next message if we already got one
1505 is nonsense and can lead to lockups.
1506 https://bugzilla.gnome.org/show_bug.cgi?id=725468
1508 2014-03-01 18:49:41 +0100 Christian König <christian.koenig@amd.com>
1510 * omx/gstomxvideoenc.c:
1511 omxvideoenc: fix startup race condition
1512 The reset function shouldn't start the src pad
1513 loop if it wasn't started before.
1514 Signed-off-by: Christian König <christian.koenig@amd.com>
1516 2014-03-01 18:48:17 +0100 Christian König <christian.koenig@amd.com>
1518 * omx/gstomxvideodec.c:
1519 omxvideodec: fix startup race condition
1520 The reset function shouldn't start the src pad
1521 loop if it wasn't started before.
1522 Signed-off-by: Christian König <christian.koenig@amd.com>
1524 2014-02-28 09:36:13 +0100 Sebastian Dröge <sebastian@centricular.com>
1527 Automatic update of common submodule
1528 From fe1672e to bcb1518
1530 2014-02-26 22:15:00 +0100 Stefan Sauer <ensonic@users.sf.net>
1533 Automatic update of common submodule
1534 From 1a07da9 to fe1672e
1536 2014-01-30 10:45:18 +0100 Edward Hervey <bilboed@bilboed.com>
1539 Automatic update of common submodule
1540 From d48bed3 to 1a07da9
1542 2014-01-25 17:44:14 +0100 Sebastian Dröge <sebastian@centricular.com>
1544 * omx/gstomxaudioenc.c:
1545 * omx/gstomxvideodec.c:
1546 * omx/gstomxvideoenc.c:
1547 omx: Don't handle FLUSHING and NOT_LINKED as errors
1548 Also don't stop the task on NOT_LINKED. We're not a demuxer.
1550 2013-12-22 22:35:31 +0000 Tim-Philipp Müller <tim@centricular.com>
1553 Automatic update of common submodule
1554 From dbedaa0 to d48bed3
1556 2013-11-05 11:22:02 +0000 Tim-Philipp Müller <tim@centricular.com>
1559 Automatic update of common submodule
1560 From 865aa20 to dbedaa0
1562 2013-09-28 13:32:37 +0200 Josep Torra <n770galaxy@gmail.com>
1564 * examples/egl/testegl.c:
1565 examples: simplify the thread synchronization code
1566 Make everithing more simple and fix the races conditions remaining in
1567 the previous approaches.
1569 2013-09-25 19:17:17 +0200 Sebastian Dröge <slomo@circular-chaos.org>
1571 * config/rpi/gstomx.conf:
1572 rpi: The WMV/VC1 decoder can only do WMV9 and VC1, no older versions
1574 2013-09-24 18:34:42 +0100 Tim-Philipp Müller <tim@centricular.net>
1577 Automatic update of common submodule
1578 From 6b03ba7 to 865aa20
1580 2013-09-24 18:48:24 +0200 Josep Torra <n770galaxy@gmail.com>
1582 * examples/egl/testegl.c:
1583 examples: fix another race condition
1584 Fix a race condition that caused randome deadlocks on EOS.
1586 2013-09-20 17:19:53 +0200 Josep Torra <n770galaxy@gmail.com>
1588 * config/rpi/gstomx.conf:
1589 rpi: fix a copy paste error in the config file
1591 2013-09-20 17:09:52 +0200 Josep Torra <n770galaxy@gmail.com>
1593 * examples/egl/testegl.c:
1594 examples: fix a race condition when seeking
1595 Fixes a race condition that caused pipeline deadlock during seeks.
1597 2013-09-20 10:38:12 +0200 Josep Torra <n770galaxy@gmail.com>
1599 * examples/egl/testegl.c:
1600 examples: display QoS statistics
1602 2013-09-20 09:34:37 +0200 Josep Torra <n770galaxy@gmail.com>
1604 * examples/egl/testegl.c:
1605 examples: use dedicated thread for rendering the scene
1606 Produces smother animation and prevents dropping frames due busy
1609 2013-09-20 08:25:21 +0200 Josep Torra <n770galaxy@gmail.com>
1611 * examples/egl/testegl.c:
1612 examples: don't force an specific audio sink
1613 Let playbin2 choose the audiosink available in the system.
1615 2013-09-20 08:19:48 +0200 Josep Torra <n770galaxy@gmail.com>
1617 * examples/egl/Makefile.am:
1618 examples: drop remnants of initial appsink attempt
1620 2013-09-20 16:18:18 +0200 Edward Hervey <edward@collabora.com>
1623 Automatic update of common submodule
1624 From b613661 to 6b03ba7
1626 2013-09-19 18:45:36 +0100 Tim-Philipp Müller <tim@centricular.net>
1629 Automatic update of common submodule
1630 From 74a6857 to b613661
1632 2013-09-19 17:38:30 +0100 Tim-Philipp Müller <tim@centricular.net>
1635 Automatic update of common submodule
1636 From 01a7a46 to 74a6857
1638 2013-08-20 16:00:07 +0100 Tim-Philipp Müller <tim@centricular.net>
1641 * omx/gstomxvideodec.c:
1642 omx: don't use the 'z' modifier to print size_t
1643 gcc will warn in some cases even if the size of the type
1644 is exactly that of size_t on the platform.
1645 https://bugzilla.gnome.org/show_bug.cgi?id=699008
1647 2013-07-01 15:48:47 +0200 Roman Arutyunyan <arutyunyan.roman@gmail.com>
1649 * omx/gstomxvideoenc.c:
1650 gstomxvideoenc: Set bitrate in setcaps
1651 Otherwise it gets lost whenever we configure new caps
1652 https://bugzilla.gnome.org/show_bug.cgi?id=698049
1654 2013-06-30 18:17:05 +0700 Ilya Smelykh <ilya@videoexpertsgroup.com>
1656 * examples/egl/testegl.c:
1657 examples: enable audio in testegl example
1659 2013-06-12 09:38:22 +0200 Sebastian Dröge <slomo@circular-chaos.org>
1662 configure: Allow build without gstreamer-egl
1664 2013-06-07 12:39:18 +0700 Ilya Smelykh <ilya@videoexpertsgroup.com>
1666 * examples/egl/Makefile.am:
1667 * examples/egl/testegl.c:
1668 examples: testegl example port to 1.x
1669 https://bugzilla.gnome.org/show_bug.cgi?id=701706
1671 2013-06-05 15:17:16 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1674 Automatic update of common submodule
1675 From 098c0d7 to 01a7a46
1677 2013-05-20 12:06:34 +0200 Josep Torra <n770galaxy@gmail.com>
1679 * omx/gstomxaudioenc.c:
1680 * omx/gstomxvideodec.c:
1681 * omx/gstomxvideoenc.c:
1682 omx: Take lock on EOS to update the flow return value
1683 Fixes "GThread-ERROR **: file gthread-posix.c: line 171
1684 (g_mutex_free_posix_impl): error 'Device or resource busy' during
1685 'pthread_mutex_destroy ((pthread_mutex_t *) mutex)'" in _finalize.
1687 2013-05-15 10:54:12 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1690 Automatic update of common submodule
1691 From 5edcd85 to 098c0d7
1693 2013-04-11 17:35:19 +0200 Josep Torra <n770galaxy@gmail.com>
1697 * examples/Makefile.am:
1698 * examples/egl/Makefile.am:
1699 * examples/egl/cube_texture_and_coords.h:
1700 * examples/egl/testegl.c:
1701 examples: add an example aplication based OpenGL ES + EGL
1702 Application that shows how to integrate playbin with an OpenGL ES
1703 scene through EGL. Renders a video on the surfaces of an animated cube.
1704 The code is not ported to 1.x so it's not built by default.
1706 2013-05-10 12:25:07 +0200 Josep Torra <n770galaxy@gmail.com>
1708 * omx/gstomxvideodec.c:
1709 omxvideodec: Redesign video size change reconfiguration code
1710 Ensure stop the decoder before clossing the tunnel.
1712 2013-05-06 16:25:27 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1715 Makefile.am: Add -I common/m4
1716 This allows autoreconf to work correctly and automatic regeneration
1717 of autotools files if something changed.
1719 2013-05-06 19:03:59 +0530 jitendra <jvarshney20@gmail.com>
1723 * omx/gstomxaudioenc.c:
1724 * omx/gstomxvideodec.c:
1725 * omx/gstomxvideoenc.c:
1726 omx: Add pads based on element type
1727 This allows to later add sources and sink that only have a srcpad
1729 https://bugzilla.gnome.org/show_bug.cgi?id=699754
1731 2013-04-27 02:50:25 +0200 Carlos Rafael Giani <dv@pseudoterminal.org>
1734 omx: fixed type error in printf call
1736 https://bugzilla.gnome.org/show_bug.cgi?id=699008
1738 2013-04-08 17:26:16 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
1742 * omx/gstomxvideodec.c:
1743 Check for gstreamer-egl
1744 And don't use if not available.
1745 https://bugzilla.gnome.org/show_bug.cgi?id=697574
1747 2013-04-23 09:53:18 +0100 Tim-Philipp Müller <tim@centricular.net>
1750 configure: error out if no OMX target has been set explicitly with --with-omx-target=x
1751 Avoids people building for e.g. the Raspberry Pi and then wondering
1752 why things don't work as expected (since structs are packed differently
1755 2013-04-22 23:55:03 +0100 Tim-Philipp Müller <tim@centricular.net>
1758 Automatic update of common submodule
1759 From 3cb3d3c to 5edcd85
1761 2013-04-18 22:07:28 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
1764 * omx/gstomxaudioenc.c:
1765 * omx/gstomxh263enc.c:
1766 * omx/gstomxh264enc.c:
1767 * omx/gstomxmpeg4videoenc.c:
1768 * omx/gstomxvideodec.c:
1769 * omx/gstomxvideoenc.c:
1770 omx: more printf format fixes
1771 Fix printf formats again, so that gst-omx compiles warning-
1772 free on the Raspberry Pi as well. Unfortunately OMX_UINT32
1773 maybe be typedefed to uint32_t or unsigned long, which
1774 doesn't work well with our debugging printf format strings,
1775 so just use %u for those and cast to guint.
1777 2013-04-18 16:40:06 +0200 Josep Torra <n770galaxy@gmail.com>
1780 omx: fixes unused variable 'comp' when GStreamer is built without debug
1782 2013-04-18 16:03:56 +0200 Josep Torra <n770galaxy@gmail.com>
1784 * omx/gstomxvideodec.c:
1785 omxvideodec: don't use 'self->dec_out_port' anymore and use just 'port'
1786 Fixes some criticals.
1788 2013-04-18 15:21:32 +0200 Josep Torra <n770galaxy@gmail.com>
1790 * omx/gstomxvideodec.c:
1791 omxvideodec: fixes 'port' may be used uninitialized in this function
1793 2013-04-18 12:03:31 +0200 Josep Torra <n770galaxy@gmail.com>
1795 * omx/gstomxvideodec.c:
1796 omxvideodec: silence warnings building for RPI related to 'vcos_*'
1798 2013-04-18 11:19:52 +0200 Josep Torra <n770galaxy@gmail.com>
1800 * omx/gstomxvideodec.c:
1801 omxvideodec: Use new type from libgstvideo
1803 2013-04-16 14:50:49 +0530 jitendra <jvarshney20@gmail.com>
1805 * omx/gstomxaudioenc.c:
1806 * omx/gstomxvideodec.c:
1807 * omx/gstomxvideoenc.c:
1808 omx: Disable output port before transition to idle state
1809 https://bugzilla.gnome.org/show_bug.cgi?id=698109
1811 2012-10-24 12:19:41 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1814 gst: Add better support for static plugins
1816 2013-04-14 17:57:34 +0100 Tim-Philipp Müller <tim@centricular.net>
1819 Automatic update of common submodule
1820 From aed87ae to 3cb3d3c
1822 2013-04-12 17:58:30 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
1825 configure: add --disable-fatal-warnings for disabling -Werror
1827 2013-04-09 21:02:09 +0200 Stefan Sauer <ensonic@users.sf.net>
1830 Automatic update of common submodule
1831 From 04c7a1e to aed87ae
1833 2013-04-08 17:02:32 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
1836 * omx/gstomxaudioenc.c:
1837 * omx/gstomxh263enc.c:
1838 * omx/gstomxh264enc.c:
1839 * omx/gstomxmpeg4videoenc.c:
1840 * omx/gstomxvideodec.c:
1841 * omx/gstomxvideoenc.c:
1842 omx: fix printf formats in debug messages
1843 OMX_U32 is typedefed to an unsigned long,
1844 OMX_TICKS to a 64-bit integer.
1846 2013-04-08 16:52:19 +0200 Josep Torra <n770galaxy@gmail.com>
1848 * omx/gstomxvideodec.c:
1849 omxvideodec: use the correct printf format in a debug message
1851 2013-04-08 16:31:33 +0200 Josep Torra <n770galaxy@gmail.com>
1853 * omx/gstomxvideodec.c:
1854 omxvideodec: use the correct OMX_IndexParam value
1855 Fixes playback is not smooth in the EGL path.
1857 2013-04-05 13:45:24 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1859 * omx/gstomxvideodec.c:
1860 omxvideodec: Don't use API that is not in master yet
1861 It's not really needed here yet, will be needed in future versions
1863 2013-02-25 11:55:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1869 * omx/gstomxvideodec.c:
1870 * omx/gstomxvideodec.h:
1871 omxvideodec: Add support for egl_render on RPi
1873 2013-03-22 19:26:54 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
1878 2013-03-22 19:23:14 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
1880 * omx/gstomxh263enc.c:
1881 * omx/gstomxh264enc.c:
1882 * omx/gstomxmpeg4videoenc.c:
1883 omx: fix compiler warnings when compiling with -DG_DISABLE_ASSERT
1884 As we do for releases. Fixes 'variable may be used uninitialized'
1887 === release 1.0.0 ===
1889 2013-03-22 17:16:33 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1900 2013-03-19 16:40:09 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
1902 * omx/gstomxtheoradec.h:
1903 * omx/gstomxvp8dec.h:
1904 omx: fix typo in copyright headers
1906 2013-03-19 13:46:33 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1908 * config/rpi/gstomx.conf:
1909 rpi: Fix commit that added the VC1 decoder
1911 2013-03-19 13:27:35 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1913 * config/rpi/gstomx.conf:
1914 * omx/gstomxh263dec.c:
1915 * omx/gstomxh264dec.c:
1916 * omx/gstomxmjpegdec.c:
1917 * omx/gstomxmpeg2videodec.c:
1918 * omx/gstomxmpeg4videodec.c:
1919 * omx/gstomxtheoradec.c:
1920 * omx/gstomxvideodec.c:
1921 * omx/gstomxvp8dec.c:
1922 * omx/gstomxwmvdec.c:
1923 omx: Add more constraints to the default sink template caps
1925 2013-03-19 13:10:39 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1927 * config/rpi/gstomx.conf:
1928 rpi: Add VC1/WMV3 decoder
1929 WMV2 and WMV1 (aka WMV 1-8) are not supported by RPi.
1931 2013-03-19 12:59:20 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1933 * config/rpi/gstomx.conf:
1934 rpi: Add MJPEG decoder
1936 2013-03-19 12:56:50 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1938 * config/rpi/gstomx.conf:
1939 rpi: Add VP8 decoder
1941 2013-03-19 12:55:09 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1943 * omx/gstomxvideodec.c:
1944 omxvideodec: Set ENDOFFRAME flag for the end of frames
1946 2013-03-19 12:28:50 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1948 * config/rpi/gstomx.conf:
1949 rpi: Add Theora decoder to the config
1951 2013-03-19 09:36:18 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1956 * omx/gstomxtheoradec.c:
1957 * omx/gstomxtheoradec.h:
1958 omx: Add Theora decoder
1960 2013-03-18 16:43:24 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1963 omx: Remove additional comma
1965 2013-03-18 16:34:21 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1967 * config/rpi/gstomx.conf:
1970 * omx/gstomxmpeg2dec.h:
1971 * omx/gstomxmpeg2videodec.c:
1972 * omx/gstomxmpeg2videodec.h:
1973 omx: Rename MPEG2 decoder for consistency everywhere
1975 2013-03-18 16:30:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1979 * omx/gstomxmjpegdec.c:
1980 * omx/gstomxmjpegdec.h:
1981 omx: Add MJPEG decoder support
1983 2013-03-18 16:06:54 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1988 * omx/gstomxvp8dec.c:
1989 * omx/gstomxvp8dec.h:
1990 omx: Add VP8 decoder support
1992 2013-03-18 15:44:23 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1994 * config/rpi/gstomx.conf:
1995 rpi: Add h263 decoder and rename MPEG2 decoder for consistency
1997 2013-03-16 13:20:27 +0000 Tim-Philipp Müller <tim@centricular.net>
1999 * omx/gstomxmpeg2dec.c:
2000 omxmpeg2dec: mpeg-2 decoder should be able to handle mpeg-1 too
2001 https://bugzilla.gnome.org/show_bug.cgi?id=695879
2003 2013-03-16 10:13:06 +0100 Josep Torra <n770galaxy@gmail.com>
2006 omx: minor stylistic change for consistency with other similar code
2008 2013-03-16 10:00:24 +0100 Josep Torra <n770galaxy@gmail.com>
2010 * omx/gstomxaudioenc.c:
2011 * omx/gstomxvideodec.c:
2012 * omx/gstomxvideoenc.c:
2013 omx: Clarify that loop task is also paused in EOS
2015 2013-03-16 09:59:01 +0100 Josep Torra <n770galaxy@gmail.com>
2017 * omx/gstomxvideoenc.c:
2018 omxvideoenec: Don't forget propagate flow return value upstream
2020 2013-03-15 13:16:39 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
2023 omx: improve debug logging some more
2025 2013-03-15 14:09:45 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2027 * omx/gstomxvideodec.c:
2028 omxvideodec: Make sure that the first frame we pass to OpenMAX is a sync frame
2030 2013-03-15 11:46:34 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2032 * omx/gstomxaudioenc.c:
2033 * omx/gstomxvideodec.c:
2034 * omx/gstomxvideoenc.c:
2035 omx: Stop output port task after draining
2037 2013-03-15 10:58:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2040 omx: Reset EOS flag in more places
2042 2013-03-15 10:38:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2044 * omx/gstomxvideodec.c:
2045 omxvideodec: Deallocate output buffers with the right function
2047 2013-03-15 01:06:05 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
2051 omx: log commands as strings
2052 Makes logs easier to read.
2054 2013-03-15 00:47:47 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
2058 omx: log states as strings
2060 2013-03-15 00:28:02 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
2064 omx: log component name in debug messages
2065 Useful when we have more different components
2066 active at the same time.
2068 2013-03-15 09:51:42 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2070 * omx/gstomxvideodec.c:
2071 omxvideodec: Don't interpolate timestamps
2072 We will get exactly one frame per input buffer and assigning
2073 timestamps between frames if more than one OMX buffer is required
2074 per frame easily confuses timestamp tracking in OMX.
2076 2013-03-15 09:32:42 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2078 * omx/gstomxvideodec.c:
2079 omxvideodec: Give the codec_data the timestamp of the first frame and no duration
2081 2013-03-14 17:31:17 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2083 * config/rpi/gstomx.conf:
2084 omx: The MPEG4 encoder is not available on RPi and probably never will
2086 2013-03-14 17:26:30 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2089 omx: Reset some more buffer fields as required
2091 2013-03-14 17:01:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2093 * config/rpi/gstomx.conf:
2095 omx: The hack to disable usage of EOS buffers is not necessary anymore on RPi
2097 2013-03-14 17:00:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2100 omx: Reset the flags for output ports when releasing a buffer, not for input ports
2102 2013-03-14 15:03:02 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2104 * omx/gstomxh263enc.c:
2105 * omx/gstomxh264enc.c:
2106 * omx/gstomxmpeg4videoenc.c:
2107 omx: Only unref caps after usage of its fields
2109 2013-03-14 14:51:32 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2111 * omx/gstomxvideodec.c:
2112 omxvideodec: Simplify bufferpool implementation
2114 2013-03-13 13:23:35 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2116 * omx/gstomxvideodec.c:
2117 omxvideodec: Improve min/max buffer counts handling
2119 2013-03-14 12:49:42 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2123 * omx/gstomxaudioenc.c:
2124 * omx/gstomxvideodec.c:
2125 * omx/gstomxvideoenc.c:
2126 omx: Handle the OMX_EventBufferFlag to detect EOS too
2128 2013-03-13 10:29:23 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2132 omx: Mark OpenMAX buffers as EGLImage if they contain one
2133 Needs special handling in some places, e.g. because nFilledLen
2136 2013-03-13 10:21:49 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2138 * omx/gstomxvideoenc.c:
2139 omxvideoenc: Properly check the nVersion field
2141 2013-03-13 09:34:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2143 * omx/gstomxvideoenc.c:
2144 omxvideoenc: RPi returns garbage for OMX_IndexParamVideoBitrate, work around that
2146 2013-03-12 20:02:53 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2148 * omx/gstomxvideodec.c:
2149 omxvideodec: Make sure to always get the right buffer
2151 2013-03-12 19:35:39 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2153 * omx/gstomxvideodec.c:
2154 omxvideodec: Make sure the buffer is released to the pool if it's not the one we wanted
2156 2013-03-12 19:17:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2158 * omx/gstomxvideodec.c:
2159 omxvideodec: Drop too late frames instead of finishing them
2161 2013-03-12 19:16:46 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2163 * omx/gstomxvideodec.c:
2164 omx: Release buffers to the correct port
2166 2013-03-13 09:37:02 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2169 omx: Always load the OpenMAX IL cores with G_MODULE_BIND_LOCAL
2171 2013-03-12 18:20:22 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2174 omx: Lazy-load symbols of libbcm_host.so
2175 It exports eglIntOpenMAXILDoneMarker(), which is also
2176 exported by libopenmaxil.so... but we need the version
2177 from libopenmaxil.so as the other one is just a stub.
2179 2013-03-11 13:59:15 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2181 * omx/gstomxaacenc.c:
2182 * omx/gstomxh263enc.c:
2183 * omx/gstomxmpeg4videoenc.c:
2184 omx: Don't set profile/level in other encoders if downstream caps don't specify any
2186 2013-03-11 13:49:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2188 * omx/gstomxh264enc.c:
2189 omxh264enc: If caps specify no profile/level use the component's defaults
2191 2013-03-11 13:45:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2193 * omx/gstomxvideoenc.c:
2194 omxvideoenc: Always allocate output buffers from the loop function
2196 2013-03-11 13:12:57 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2198 * omx/gstomxh264enc.c:
2199 omxh264enc: The h264 encoders are supposed to output byte-stream/au
2201 2013-03-11 11:47:42 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2203 * omx/gstomxvideoenc.c:
2204 omxvideoenc: Wait until the Executing state is reached before passing buffers to the component
2206 2013-03-11 10:39:25 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2208 * omx/gstomxvideodec.c:
2209 omxvideodec: Don't provide buffers to downstream
2210 This only works reliable if we have a way to tell downstream to
2211 release all our buffers for reconfiguration.
2213 2013-03-11 10:29:44 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2215 * omx/gstomxaudioenc.c:
2216 omxaudioenc: Disable output port when setting a new format
2218 2013-03-11 10:29:30 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2220 * omx/gstomxvideoenc.c:
2221 omxvideoenc: Disable output port when setting a new format
2223 2013-03-11 10:22:07 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2225 * omx/gstomxvideodec.c:
2226 omxvideodec: Disable output port when setting a new format
2227 Based on a patch by Josep Torra <n770galaxy@gmail.com>
2229 2013-03-11 10:04:10 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2231 * omx/gstomxaudioenc.c:
2232 * omx/gstomxvideodec.c:
2233 * omx/gstomxvideoenc.c:
2234 omx: Catch errors when releasing buffers to a port and handle them
2236 2013-03-10 12:09:23 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2238 * omx/gstomxvideoenc.c:
2239 omxvideoenc: Use the correct video codec state when filling an input buffer
2241 2013-03-10 12:05:50 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2243 * omx/gstomxvideoenc.c:
2244 omxvideoenc: Store correct input state
2246 2013-03-10 11:27:34 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2248 * omx/gstomxvideoenc.c:
2249 omxvideoenc: Allocate output buffers as early as possible
2251 2013-03-10 11:01:57 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2254 omx: Log unknown events
2256 2013-03-09 14:14:40 +0100 Josep Torra <n770galaxy@gmail.com>
2258 * omx/gstomxaudioenc.c:
2259 * omx/gstomxvideodec.c:
2260 * omx/gstomxvideoenc.c:
2261 omx: Fix deadlock in encoders and add explainatory comments.
2263 2013-03-09 13:27:08 +0100 Josep Torra <n770galaxy@gmail.com>
2265 * omx/gstomxvideodec.c:
2266 omxvideodec: fix printf format identifier
2268 2013-03-09 13:07:59 +0100 Josep Torra <n770galaxy@gmail.com>
2270 * omx/gstomxvideodec.c:
2271 omx: Minor changes on debuging info
2273 2013-03-09 13:00:33 +0100 Josep Torra <n770galaxy@gmail.com>
2275 * omx/gstomxvideodec.c:
2276 omxvideodec: avoid a deadlock
2278 2013-03-08 15:56:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2280 * omx/gstomxvideodec.c:
2281 omxvideodec: Don't forget to populate output port
2283 2013-03-08 15:11:27 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2285 * omx/gstomxaudioenc.c:
2286 * omx/gstomxvideodec.c:
2287 * omx/gstomxvideoenc.c:
2288 omx: Flush and stop srcpad when configuring new caps
2290 2013-03-07 17:40:21 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2292 * config/rpi/gstomx.conf:
2294 Revert "omx: use no-component-reconfigure hack on the Raspberry PI"
2295 This reverts commit e123b2089f69a413241f30a2428ea6edd8f231e7.
2296 It's not required anymore after the fix from the last commit.
2298 2013-03-07 17:38:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2300 * omx/gstomxvideodec.c:
2301 omxvideodec: Only negotiate a color format with downstream on the initial caps
2303 2013-03-07 17:29:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2305 * omx/gstomxvideodec.c:
2306 omxvideodec: Make sure the output port is disabled while we allocate buffers
2308 2013-03-07 17:27:05 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2311 omx: Also wait for disabled output ports to be reconfigured
2313 2013-03-07 14:10:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2315 * omx/gstomxvideodec.c:
2316 * omx/gstomxvideodec.h:
2317 omxvideodec: Add buffer pool for sharing OpenMAX memory with downstream
2319 2013-03-07 11:11:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2323 * omx/gstomxaudioenc.c:
2324 * omx/gstomxvideodec.c:
2325 * omx/gstomxvideoenc.c:
2326 omx: Add timeout to the flush operation and move buffer populating to a separate function
2328 2013-03-06 17:33:23 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2330 * config/rpi/gstomx.conf:
2333 omx: Remove min buffer count hack for RPi again
2334 It's not necessary anymore
2336 2013-03-06 17:05:51 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2340 * omx/gstomxaudioenc.c:
2341 * omx/gstomxvideodec.c:
2342 * omx/gstomxvideoenc.c:
2343 omx: Do number of buffers configuration explicitely
2345 2013-03-07 11:24:54 +0100 Josep Torra <n770galaxy@gmail.com>
2347 * omx/gstomxvideodec.c:
2348 omxvideodec: fixes reconfiguration
2349 Avoid having fixed fields from previous caps on reconfiguration.
2351 2013-03-07 11:02:39 +0100 Josep Torra <n770galaxy@gmail.com>
2353 * config/rpi/gstomx.conf:
2355 omx: use no-component-reconfigure hack on the Raspberry PI
2357 2013-03-07 00:03:28 +0000 Tim-Philipp Müller <tim@centricular.net>
2360 Automatic update of common submodule
2361 From 2de221c to 04c7a1e
2363 2013-03-01 15:32:47 +0100 Josep Torra <n770galaxy@gmail.com>
2365 * omx/gstomxvideoenc.h:
2366 omxvideoenc: drop unused data member
2368 2013-03-01 12:23:54 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2370 * omx/gstomxh263enc.c:
2371 * omx/gstomxh264enc.c:
2372 * omx/gstomxmpeg4videoenc.c:
2373 omxvideoenc: And set it actually on the right port
2375 2013-03-01 12:18:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2377 * omx/gstomxh263enc.c:
2378 * omx/gstomxh264enc.c:
2379 * omx/gstomxmpeg4videoenc.c:
2380 omxvideoenc: Set the coding type in the subclasses to the specific codec
2382 2013-03-01 11:49:53 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2384 * omx/gstomxvideoenc.c:
2385 omxvideoenc: gst_omx_port_update_port_definition() returns a OMX_ERRORTYPE, not a gboolean
2387 2013-03-01 11:44:17 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2389 * omx/gstomxvideodec.c:
2390 * omx/gstomxvideoenc.c:
2391 omxvideo{dec,enc}: Don't use the input state if it wasn't set yet
2393 2013-03-01 11:25:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2395 * omx/gstomxaudioenc.c:
2396 omxaudioenc: Only enable the output port after we know the output format
2398 2013-03-01 11:24:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2400 * omx/gstomxvideoenc.c:
2401 omxvideoenc: Only enable the output port after we know the output format
2403 2013-02-28 17:02:31 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2405 * omx/gstomxvideodec.c:
2406 omxvideodec: Only enable the output port after we know the output format
2408 2013-03-01 11:18:18 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2412 omx: Handle errors more gracefully
2414 2013-02-28 15:48:53 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2418 * omx/gstomxaudioenc.c:
2419 * omx/gstomxh263dec.c:
2420 * omx/gstomxh264dec.c:
2421 * omx/gstomxmpeg2dec.c:
2422 * omx/gstomxmpeg4videodec.c:
2423 * omx/gstomxvideodec.c:
2424 * omx/gstomxwmvdec.c:
2425 omx: Return the OMX_ERRORTYPE from gst_omx_port_update_port_definition
2427 2013-02-28 15:37:53 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2430 omx: Return port definition update errors
2432 2013-02-28 13:57:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2434 * config/rpi/gstomx.conf:
2437 omx: Add hack for RPi for the minimum number of buffers required for a port
2438 The value in the port definition is invalid and the initial actual
2439 buffer count should be used.
2441 2013-02-28 13:26:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2444 omx: Always tell the component about the right number of buffers that we're going to allocate
2446 2013-02-28 13:07:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2449 omx: Invert assertion to let it express what was intended
2451 2013-02-28 11:19:07 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2455 * omx/gstomxaudioenc.c:
2456 * omx/gstomxvideodec.c:
2457 * omx/gstomxvideoenc.c:
2458 omx: Add API for allocating a specific number of buffers and using EGLImages or buffers allocated elsewhere
2460 2013-02-27 16:55:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2462 * omx/gstomxaudioenc.c:
2463 * omx/gstomxvideodec.c:
2464 * omx/gstomxvideoenc.c:
2465 omx: Refactor code flow a bit if output port settings have changed
2467 2013-02-27 15:49:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2471 * omx/gstomxaudioenc.c:
2472 * omx/gstomxvideodec.c:
2473 * omx/gstomxvideoenc.c:
2474 omx: Clean up port settings change handling
2476 2013-02-27 11:30:14 +0100 Josep Torra <n770galaxy@gmail.com>
2478 * omx/gstomxvideodec.c:
2479 omxvideodec: initialize param structure before using it
2481 2013-02-27 10:21:39 +0100 Josep Torra <n770galaxy@gmail.com>
2483 * omx/gstomxvideoenc.c:
2484 omxvideoenc: prevent a NULL pointer access
2486 2013-02-26 17:25:49 +0100 Josep Torra <n770galaxy@gmail.com>
2488 * omx/gstomxvideodec.c:
2489 omxvideodec: prevent a NULL pointer access
2491 2013-02-25 13:11:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2494 omx: Fix deadlock during reconfiguration
2496 2013-02-25 12:38:27 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2499 * omx/gstomxaudioenc.c:
2500 * omx/gstomxvideodec.c:
2501 * omx/gstomxvideoenc.c:
2502 omx: Auto-detect the port indizes if possible
2504 2013-02-25 11:42:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2506 * omx/gstomxvideodec.c:
2507 * omx/gstomxvideoenc.c:
2508 omx: Refactor querying of component supported caps into its own function
2510 2013-02-25 10:41:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2514 * omx/gstomxaudioenc.c:
2515 * omx/gstomxvideodec.c:
2516 * omx/gstomxvideoenc.c:
2517 omx: Refactor waiting for buffers to be released by the component to a separate function
2519 2013-01-11 17:44:13 +0000 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2523 omx: Add methods to set up and close a tunnel between components
2525 2013-02-25 09:15:53 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2527 * omx/gstomxaacenc.c:
2528 * omx/gstomxaudioenc.c:
2529 * omx/gstomxaudioenc.h:
2530 omxaudioenc: Rename component variable
2532 2013-02-25 09:15:46 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2534 * omx/gstomxh263enc.c:
2535 * omx/gstomxh264enc.c:
2536 * omx/gstomxmpeg4videoenc.c:
2537 * omx/gstomxvideoenc.c:
2538 * omx/gstomxvideoenc.h:
2539 omxvideoenc: Rename component variable
2541 2013-02-25 09:12:22 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2543 * omx/gstomxvideodec.c:
2544 * omx/gstomxvideodec.h:
2545 omxvideodec: Rename component variable
2547 2013-02-22 16:27:33 +0100 Josep Torra <n770galaxy@gmail.com>
2549 * omx/gstomxvideoenc.c:
2550 omxvideoenc: remove duplicated line
2552 2013-02-22 10:42:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2555 Retry loading libbcm_host.so without an absolute path if that failed
2557 2013-02-21 20:32:42 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2559 * config/bellagio/Makefile.am:
2560 Add missing file from last commit
2562 2013-02-21 11:01:28 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2564 * config/Makefile.am:
2565 * config/bellagio/gstomx.conf:
2568 Add OpenMAX IL target for Bellagio
2569 Not tested since a very long time though.
2571 2013-02-21 10:59:29 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2575 Allow using external OpenMAX IL headers
2577 2013-02-21 10:14:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2582 2013-02-21 10:13:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2584 * config/Makefile.am:
2585 * config/rpi/Makefile.am:
2586 * config/rpi/gstomx.conf:
2588 Install the RPI config when the RPI target is selected
2590 2013-02-21 10:08:07 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2593 Set default hacks for the RPI target and always initialize bcm_host
2595 2013-02-21 10:05:37 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2598 Add configure parameter for setting the OpenMAX IL target
2600 2013-02-12 11:55:39 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2603 omx: Add FIXME for the future
2605 2013-02-12 11:49:21 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2609 * omx/gstomxaudioenc.c:
2610 * omx/gstomxaudioenc.h:
2611 * omx/gstomxvideodec.c:
2612 * omx/gstomxvideodec.h:
2613 * omx/gstomxvideoenc.c:
2614 * omx/gstomxvideoenc.h:
2615 omx: Some minor refactoring and cleanup
2617 2013-02-12 11:45:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2620 omx: Don't access the port's buffers array if it wasn't allocated yet
2622 2013-02-12 11:44:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2625 omx: Mark an array as const
2627 2013-02-12 11:41:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2631 * omx/gstomxaudioenc.c:
2632 * omx/gstomxvideodec.c:
2633 * omx/gstomxvideoenc.c:
2634 omx: Split enabling/disabling of port into sending the command and waiting for it
2635 This allows to do anything necessary after sending the command to actually let it finish
2637 2013-02-12 11:37:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2640 omx: Flushing is also allowed in Paused state
2642 2013-02-12 11:28:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2644 * omx/gstomxvideoenc.c:
2645 omxvideoenc: Set stride, slice height and buffer size
2647 2013-02-12 11:09:30 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2649 * config/raspberry-pi.conf:
2650 config: Add h264 and mpeg2 encoders to the raspberry pi config
2651 Not completely working yet though.
2653 2013-02-12 11:03:32 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2655 * omx/gstomxvideoenc.c:
2656 omxvideoenc: Properly negotiate OMX color format with the component
2658 2013-02-12 10:53:24 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2660 * omx/gstomxvideoenc.c:
2661 omxvideoenc: Implement getcaps() vfunc
2663 2013-01-29 21:32:53 +0000 Tim-Philipp Müller <tim@centricular.net>
2666 configure: use 1.0 gstconfig.h to detect disabled subsystems
2667 Update unused configure check for GStreamer core subsystem
2668 features from 0.10 to 1.0.
2670 2013-01-28 20:44:41 +0100 Stefan Sauer <ensonic@users.sf.net>
2673 Automatic update of common submodule
2674 From a942293 to 2de221c
2676 2013-01-24 14:02:36 +0100 Julian Scheel <julian@jusst.de>
2678 * config/raspberry-pi.conf:
2681 * omx/gstomxmpeg2dec.c:
2682 * omx/gstomxmpeg2dec.h:
2683 omx: add mpeg2 video decoder
2684 This adds a decoder class for mpeg2, as well as an extended
2685 configuration for raspberry pi.
2686 https://bugzilla.gnome.org/show_bug.cgi?id=692446
2687 Signed-off-by: Julian Scheel <julian@jusst.de>
2689 2013-01-18 16:47:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2692 omx: Minimize the time when the messages lock is held
2693 Fixes a deadlock if any OMX functions are called when the
2694 messages are handled.
2695 Thanks to Nicolas Dufresne for noticing.
2697 2013-01-18 15:28:20 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
2700 omx: improve debug message when we can't find the config file
2701 Mention where we looked for the config file.
2703 2013-01-18 12:34:38 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
2706 build: fix autogen.sh with automake 1.13
2707 AM_CONFIG_HEADER -> AC_CONFIG_HEADERS
2709 2013-01-17 18:07:41 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2712 * omx/gstomxaudioenc.h:
2713 * omx/gstomxvideodec.h:
2714 * omx/gstomxvideoenc.h:
2715 omx: Fix includes to properly work with the 1.0 releases
2717 2013-01-15 15:08:28 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
2720 Automatic update of common submodule
2721 From a72faea to a942293
2723 2013-01-15 14:34:45 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2726 omx: Update port definition when changing some port setting
2728 2013-01-14 11:41:57 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2732 omx: Rename from libgstopenmax.so to ligstomx.so for consistency
2734 2013-01-11 15:32:22 +0000 Nicolas Dufresne <nicolas.dufresne@collabora.com>
2737 omx: Add a method to send message
2739 2013-01-11 15:44:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2743 omx: Atomic ops are not required anymore for the reconfiguration
2745 2013-01-11 12:52:10 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2747 * omx/gstomxaudioenc.c:
2748 * omx/gstomxvideodec.c:
2749 * omx/gstomxvideoenc.c:
2750 omx: Fix some memory leaks and suboptimal locking
2752 2013-01-11 12:34:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2754 * omx/gstomxvideoenc.c:
2755 omxvideoenc: Don't forget to unmap frame in error cases
2757 2013-01-11 12:29:20 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2759 * omx/gstomxvideoenc.c:
2760 omxvideoenc: Fix copying of the video frames to the OMX buffers
2762 2013-01-11 12:24:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2764 * omx/gstomxvideodec.c:
2765 omxvideodec: Fix copying of the video frames from the OMX buffers
2767 2013-01-10 14:44:33 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2772 * omx/gstomxaudioenc.c:
2773 * omx/gstomxrecmutex.c:
2774 * omx/gstomxrecmutex.h:
2775 omx: Implement new approach for locking that should solve all deadlocks on RPi
2776 No mutex is locked while calling any OpenMAX functions anymore
2777 and everything from the OpenMAX callbacks is inserted into a message
2778 queue and handled from outside the callbacks.
2779 Also there's only a single mutex and condition variable per component
2780 now for handling anything from OpenMAX callbacks and a single mutex
2781 for keeping our component/port state sane.
2783 2012-12-20 19:30:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2785 * omx/gstomxvideodec.c:
2786 omxvideodec: Set the OMX buffer nFilledLength field properly
2788 2012-12-20 18:48:21 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2790 * omx/gstomxrecmutex.c:
2791 * omx/gstomxrecmutex.h:
2792 omxrecmutex: Fix another race condition when two threads are trying to lock for recursion at the same time
2794 2012-12-20 18:16:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2796 * omx/gstomxrecmutex.c:
2797 * omx/gstomxrecmutex.h:
2798 omxrecmutex: Fix yet another race condition that resulted in deadlocks
2800 2012-12-20 17:46:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2803 * omx/gstomxrecmutex.c:
2804 * omx/gstomxrecmutex.h:
2805 omx: Fix another race condition in the recursive mutex
2806 Between lock() and begin_recursion() it was possible for another thread to
2807 try to do a recursive_lock(). This would block because the mutex was already
2808 locked(), but not ready for recursive locking yet. unlock() would never
2809 happen in the original thread because it was waiting for the other thread
2811 Happened on the Raspberry Pi.
2813 2012-12-20 14:45:18 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2815 * omx/gstomxrecmutex.c:
2816 * omx/gstomxrecmutex.h:
2817 omxrecmutex: Fix a small race condition when unlocking a non-recursive lock
2819 2012-12-20 12:30:05 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2821 * omx/gstomxaudioenc.c:
2822 * omx/gstomxvideodec.c:
2823 * omx/gstomxvideoenc.c:
2824 omx: Fix ununsed variable compiler warning
2826 2012-12-20 12:27:47 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2828 * omx/gstomxaudioenc.c:
2829 * omx/gstomxvideodec.c:
2830 * omx/gstomxvideoenc.c:
2831 omx: No need to start the srcpad task in ::start() already
2832 It will be started properly after the caps are set.
2834 2012-12-20 12:23:49 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2836 * omx/gstomxvideodec.c:
2837 omxvideodec: OMX_ErrorNoMore is no error and just means we ended iteration
2839 2012-12-20 12:20:31 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2841 * omx/gstomxaudioenc.c:
2842 * omx/gstomxvideodec.c:
2843 * omx/gstomxvideoenc.c:
2844 omx: Improve debug output
2846 2012-12-20 12:02:30 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2848 * omx/gstomxvideodec.c:
2849 omxvideodec: Don't forget to free a GList
2851 2012-12-20 11:56:29 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2853 * omx/gstomxvideodec.c:
2854 omxvideodec: Map OMX_COLOR_FormatYUV420PackedPlanar to I420 too
2855 This is used on the Raspberry Pi.
2857 2012-12-20 11:55:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2859 * omx/gstomxvideodec.c:
2860 omxvideodec: During negotiation of the output format make sure we use the correct OpenMAX format
2862 2012-12-20 11:42:17 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2864 * omx/gstomxvideodec.c:
2865 omxvideodec: If negotiation fails this could also mean that the component can't do it at this point yet
2867 2012-12-20 11:40:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2869 * omx/gstomxvideodec.c:
2870 omxvideodec: Improve format negotiation a bit
2871 Don't leak caps and make sure to fixate caps.
2873 2012-12-19 13:05:28 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2876 omx: Also initialize nStep field of the OMX structures
2878 2012-12-19 13:03:37 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2881 omx: Initialize struct version with the OMX version we compiled with
2883 2012-12-19 12:44:31 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2885 * omx/gstomxvideodec.c:
2886 omxvideodec: Extract data from the input buffer, not the codec data
2888 2012-12-19 12:19:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2891 * tools/listcomponents.c:
2892 omx: Use has_suffix() instead of has_prefix() for the Broadcom hack
2894 2012-12-19 12:08:35 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2898 * tools/Makefile.am:
2899 * tools/listcomponents.c:
2900 tools: Add tool to list all components and their roles
2902 2012-12-19 11:31:51 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2905 omx: Add hack to load and initialize libbcm_host.so
2906 Needed on the Raspberry Pi. Patch based on a patch by
2907 George Kiagiadakis <george.kiagiadakis@collabora.com>
2909 2012-12-19 11:22:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2913 configure: Add configure option to pack OpenMAX structures
2914 This is required to set to 4 for the Raspberry Pi for example.
2916 2012-12-19 11:07:44 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2919 configure: Require GStreamer 1.0.0
2921 2012-04-20 17:13:52 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
2924 omx: Initialize structures to version 1.1.2
2926 2012-12-19 09:51:22 +0000 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2929 * config/Makefile.am:
2930 * config/raspberry-pi.conf:
2932 config: Add raspberry-pi configuration in a different directory
2934 2012-05-20 20:11:59 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
2936 * omx/gstomx-raspberry.conf:
2937 raspberry: Add a gstomx.conf for the Raspberry Pi
2939 2012-12-12 17:45:39 +0000 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2942 * omx/gstomxvideoenc.h:
2943 omx: Fix some compilation errors caused by circular includes
2945 2012-11-19 11:29:44 +0000 Tim-Philipp Müller <tim@centricular.net>
2948 Automatic update of common submodule
2949 From 6bb6951 to a72faea
2951 2012-11-12 15:14:09 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2953 * omx/gstomxvideodec.c:
2954 * omx/gstomxvideoenc.c:
2955 omx: Fix refcount problem with frames being dropped because of decoder bugs
2957 2012-11-12 11:29:48 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2961 * omx/gstomxaudioenc.c:
2962 * omx/gstomxaudioenc.h:
2963 * omx/gstomxrecmutex.c:
2964 * omx/gstomxrecmutex.h:
2965 * omx/gstomxvideodec.c:
2966 * omx/gstomxvideodec.h:
2967 * omx/gstomxvideoenc.c:
2968 * omx/gstomxvideoenc.h:
2969 omx: Update to new GLib thread API
2971 2012-10-22 14:34:53 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2973 * omx/gstomxvideodec.c:
2974 * omx/gstomxvideoenc.c:
2975 omx: Use open/close vfuncs
2977 2012-10-22 14:28:04 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2979 * omx/gstomxvideodec.c:
2980 * omx/gstomxvideoenc.c:
2981 omx: Handle video meta correctly
2983 2012-06-20 13:11:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2986 * omx/gstbasevideocodec.c:
2987 * omx/gstbasevideocodec.h:
2988 * omx/gstbasevideodecoder.c:
2989 * omx/gstbasevideodecoder.h:
2990 * omx/gstbasevideoencoder.c:
2991 * omx/gstbasevideoencoder.h:
2992 * omx/gstbasevideoutils.c:
2993 * omx/gstbasevideoutils.h:
2994 * omx/gstomxh263dec.c:
2995 * omx/gstomxh263enc.c:
2996 * omx/gstomxh264dec.c:
2997 * omx/gstomxh264enc.c:
2998 * omx/gstomxmpeg4videodec.c:
2999 * omx/gstomxmpeg4videoenc.c:
3000 * omx/gstomxvideodec.c:
3001 * omx/gstomxvideodec.h:
3002 * omx/gstomxvideoenc.c:
3003 * omx/gstomxvideoenc.h:
3004 * omx/gstomxwmvdec.c:
3005 omx: Port to video base classes from -base
3007 2012-10-17 17:57:43 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
3009 * omx/gstomxaacenc.c:
3010 * omx/gstomxh263dec.c:
3011 * omx/gstomxh263enc.c:
3012 * omx/gstomxh264dec.c:
3013 * omx/gstomxh264enc.c:
3014 * omx/gstomxmpeg4videodec.c:
3015 * omx/gstomxmpeg4videoenc.c:
3016 * omx/gstomxwmvdec.c:
3017 omx: gst_element_class_set_details_simple() -> set_static_metadata()
3019 2012-10-06 15:01:11 +0100 Tim-Philipp Müller <tim@centricular.net>
3022 Automatic update of common submodule
3023 From 6c0b52c to 6bb6951
3025 2012-09-22 16:10:38 +0100 Tim-Philipp Müller <tim@centricular.net>
3028 Automatic update of common submodule
3029 From 4f962f7 to 6c0b52c
3031 2012-06-21 20:22:13 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
3034 omx: fix debug statement
3036 2012-06-21 20:21:03 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
3039 omx: use recursive_lock inside set_last_error(), since this function may be called from an event handler
3041 2012-08-22 13:31:59 +0200 Stefan Sauer <ensonic@users.sf.net>
3044 Automatic update of common submodule
3045 From 668acee to 4f962f7
3047 2012-08-05 16:42:43 +0100 Tim-Philipp Müller <tim@centricular.net>
3050 Automatic update of common submodule
3051 From 94ccf4c to 668acee
3053 2012-08-03 19:32:13 +0100 Tim-Philipp Müller <tim@centricular.net>
3056 omx: fix plugin name for new GST_PLUGIN_DEFINE API
3058 2012-07-23 08:47:32 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3061 Automatic update of common submodule
3062 From 98e386f to 94ccf4c
3064 2012-07-10 09:57:09 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3066 * omx/gstbasevideodecoder.c:
3067 omx: Update for allocation query API changes
3069 2012-06-20 11:09:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3071 * omx/gstomxaudioenc.c:
3072 * omx/gstomxvideodec.c:
3073 * omx/gstomxvideoenc.c:
3074 omx: Fix compilation after gst_pad_start_task() API changes
3076 2012-06-08 15:06:35 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
3079 Automatic update of common submodule
3080 From 03a0e57 to 98e386f
3082 2012-06-06 18:20:18 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
3085 Automatic update of common submodule
3086 From 1fab359 to 03a0e57
3088 2012-06-01 10:30:27 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
3091 Automatic update of common submodule
3092 From f1b5a96 to 1fab359
3094 2012-05-31 13:10:33 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3097 Automatic update of common submodule
3098 From 92b7266 to f1b5a96
3100 2012-05-30 12:47:59 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3103 Automatic update of common submodule
3104 From ec1c4a8 to 92b7266
3106 2012-05-30 11:26:30 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3109 Automatic update of common submodule
3110 From 3429ba6 to ec1c4a8
3112 2012-05-13 15:58:10 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3115 Automatic update of common submodule
3116 From dc70203 to 3429ba6
3118 2012-05-08 16:13:32 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
3121 omx: Fix spelling mistake found by lintian: s/Seperate/Separate/
3123 2012-04-30 23:58:43 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
3128 * omx/gstomxaudioenc.c:
3129 * omx/gstomxrecmutex.c:
3130 * omx/gstomxrecmutex.h:
3131 * omx/gstomxvideodec.c:
3132 * omx/gstomxvideoenc.c:
3133 Implement a new custom recursive mutex type and fix locking in callbacks so that in-context calls are allowed.
3134 According to the OMX specification, implementations are allowed to call
3135 callbacks in the context of their function calls. However, our callbacks
3136 take locks and this causes deadlocks if the unerlying OMX implementation
3137 uses this kind of in-context calls.
3138 A solution to the problem would be a recursive mutex. However, a normal
3139 recursive mutex does not fix the problem because it is not guaranteed
3140 that the callbacks are called from the same thread. What we see in Broadcom's
3141 implementation for example is:
3143 - OMX_Foo waits on a condition
3144 - A callback is executed in a different thread
3145 - When the callback returns, its calling function
3146 signals the condition that OMX_Foo waits on
3147 - OMX_Foo wakes up and returns
3148 The solution I came up with here is to take a second lock inside the callback,
3149 but only if recursion is expected to happen. Therefore, all calls to OMX
3150 functions are guarded by calls to gst_omx_rec_mutex_begin_recursion() / _end_recursion(),
3151 which effectively tells the mutex that at this point we want to allow calls
3152 to _recursive_lock() to succeed, although we are still holding the master lock.
3154 2012-04-20 14:51:34 +0000 George Kiagiadakis <george.kiagiadakis@collabora.com>
3158 omx: Add hack to disable setting roles to components.
3162 2012-04-30 23:20:24 +0000 George Kiagiadakis <george.kiagiadakis@collabora.com>
3165 * omx/gstomxvideodec.c:
3166 omxvideodec: Implement no-empty-eos-buffer hack, as in omxvideoenc.
3168 omx/gstomxvideodec.c
3170 2012-04-30 23:19:55 +0000 George Kiagiadakis <george.kiagiadakis@collabora.com>
3172 * omx/gstomxvideodec.c:
3173 omxvideodec: Fix coding style in the drain-may-not-return hack code
3175 2012-04-25 19:03:48 +0530 Arun Raghavan <arun.raghavan@collabora.co.uk>
3178 omx: Fix trivial debug print bug
3180 2012-04-25 19:01:32 +0530 Arun Raghavan <arun.raghavan@collabora.co.uk>
3184 * omx/gstomxvideodec.c:
3185 omxvideodec: Add hack for Ducati components not returning from drain
3186 This happens on the Galaxy Nexus, and causes the pipeline to hang waiting
3187 endlessly for a drain. The hack replaces the wait with a wait + 500ms timeout.
3189 2012-04-25 16:35:40 +0530 Arun Raghavan <arun.raghavan@collabora.co.uk>
3192 omx: Fix deadlock between ending a flush and the event handler
3193 gst_omx_port_set_flushing() calls OMX_FillThisBuffer at the end of a flush
3194 without releasing the port lock, and this can cause a deadlock with the
3195 EventHandler. This patches fixes this by dropping the lock for the duration of
3196 the fill buffer call.
3198 2012-04-24 15:41:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3200 * omx/gstbasevideodecoder.c:
3201 * omx/gstbasevideoencoder.c:
3202 omx: Update video encoder/decoder base classes from gst-plugins-bad
3204 2012-04-16 09:16:10 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3207 configure: Modernize autotools setup a bit
3208 Also we now only create tar.bz2 and tar.xz tarballs.
3210 2012-04-16 09:12:37 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3213 Automatic update of common submodule
3215 2012-04-16 08:34:56 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3217 * omx/gstomxaudioenc.c:
3218 omxaudioenc: Use gst_buffer_extract() to copy the input buffer data to the OpenMAX buffer
3220 2012-04-13 17:16:42 -0400 Alessandro Decina <alessandro.decina@collabora.com>
3223 Fix relative/absolute path glitch
3224 Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@collabora.com>
3226 2012-04-12 15:57:32 -0400 Olivier Crête <olivier.crete@collabora.com>
3231 * omx/gstbasevideocodec.c:
3232 * omx/gstbasevideocodec.h:
3233 * omx/gstbasevideodecoder.c:
3234 * omx/gstbasevideodecoder.h:
3235 * omx/gstbasevideoencoder.c:
3236 * omx/gstbasevideoencoder.h:
3239 * omx/gstomxaacenc.c:
3240 * omx/gstomxaudioenc.c:
3241 * omx/gstomxaudioenc.h:
3242 * omx/gstomxh263dec.c:
3243 * omx/gstomxh263enc.c:
3244 * omx/gstomxh264dec.c:
3245 * omx/gstomxh264enc.c:
3246 * omx/gstomxmpeg4videodec.c:
3247 * omx/gstomxmpeg4videoenc.c:
3248 * omx/gstomxvideodec.c:
3249 * omx/gstomxvideodec.h:
3250 * omx/gstomxvideoenc.c:
3251 * omx/gstomxvideoenc.h:
3252 * omx/gstomxwmvdec.c:
3255 2012-01-18 16:53:16 -0300 Reynaldo H. Verdejo Pinochet <reynaldo@collabora.com>
3259 Enable building with Android's buildsystem
3260 This change adds prelimary buildsystem hooks to
3261 build gst-omx with the Android buildsystem. Like
3262 the rest of GStreamer's Android hooks, the process
3263 relies on the availability of androgenizer. A tool
3264 developed by Collabora to automatically generate
3265 Android.mk files from within the auto* setup.
3266 Androgenizer is currently available at:
3267 http://cgit.collabora.com/git/user/derek/androgenizer.git/
3269 2011-12-13 10:17:41 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3271 * omx/gstbasevideocodec.c:
3272 basevideocodec: Don't use G_TYPE_REGISTER_BOXED() yet
3273 This would require GLib 2.26.
3275 2011-12-14 10:09:34 +0100 Jonas Larsson <Jonas.Larsson@palm.com>
3277 * omx/gstomxaudioenc.c:
3278 omxaudioenc: Add hack for encoder components that don't allow empty EOS buffers
3280 2011-12-14 10:07:29 +0100 Jonas Larsson <Jonas.Larsson@palm.com>
3282 * omx/gstomxvideoenc.c:
3283 omxvideoenc: Fix deadlock when using the EOS hack
3285 2011-12-12 14:26:48 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3287 * omx/gstomxvideoenc.c:
3288 omxvideoenc: Remove workaround for basevideocodec bug
3290 2011-12-12 14:26:34 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3292 * omx/gstomxvideodec.c:
3293 omxvideodec: Remove workaround for basevideocodec bug
3295 2011-12-05 17:57:01 +0000 Matej Knopp <matej.knopp@gmail.com>
3297 * omx/gstbasevideocodec.c:
3298 * omx/gstbasevideocodec.h:
3299 * omx/gstbasevideodecoder.c:
3300 * omx/gstbasevideoencoder.c:
3301 basevideo: Make GstVideoFrame a reference counted boxed object
3302 ...and also clear all existing frames when resetting the decoder or encoder.
3304 2011-12-09 12:17:29 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3308 * omx/gstomxvideoenc.c:
3309 omx: Add hack for encoder components that don't allow empty EOS buffers
3311 2011-12-09 10:21:47 +0100 Dake Gu <Dake.Gu@palm.com>
3313 * omx/gstomxaacenc.c:
3314 omxaacenc: Generate and set codec_data on the caps for raw AAC
3316 2011-10-31 11:36:06 +0100 Alessandro Decina <alessandro.decina@collabora.co.uk>
3318 * omx/gstbasevideoencoder.c:
3319 basevideoencoder: handle failures in start() and stop()
3321 2011-08-26 10:50:38 +0100 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
3323 * omx/gstbasevideoencoder.c:
3324 basevideoenc: do not try to calculate latency from an unknown framerate
3325 It'll divide by zero, and latency is unknown for an unknown framerate.
3326 Fixes an assert in the schroenc test.
3327 https://bugzilla.gnome.org/show_bug.cgi?id=657419
3329 2011-12-08 11:50:49 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3331 * omx/gstbasevideoencoder.c:
3332 basevideoencoder: Only make the header buffer metadata writable, not the buffer
3334 2011-12-08 10:18:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3336 * omx/gstbasevideoencoder.c:
3337 basevideoencoder: Fix handling of force-keyunit events
3339 2011-12-06 13:28:41 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3341 * omx/gstomxaudioenc.c:
3342 omxaudioenc: Don't forward EOS events immediately but let all other events be handled by the base class
3343 Previously this logic was inversed, which did not make any sense at all.
3345 2011-12-06 12:47:25 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3347 * omx/gstomxaudioenc.c:
3348 * omx/gstomxaudioenc.h:
3349 omxaudioenc: Use correct timestamp, duration and filled length for the EOS buffers
3351 2011-12-06 12:47:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3353 * omx/gstomxvideodec.c:
3354 * omx/gstomxvideodec.h:
3355 omxvideodec: Use correct timestamp, duration and filled length for the EOS buffers
3357 2011-12-06 12:46:51 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3359 * omx/gstomxvideoenc.c:
3360 * omx/gstomxvideoenc.h:
3361 omxvideoenc: Use correct timestamp, duration and filled length for the EOS buffers
3363 2011-12-05 13:18:09 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3366 omx: Improve debugging of buffer handling
3368 2011-12-05 08:12:48 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3370 * omx/gstomxvideoenc.c:
3371 omxvideoenc: Drop EOS events in ::finish()
3372 The event will be forwarded downstream from the srcpad
3373 loop function after the last buffer was generated by the
3374 component. Forwarding it after ::finish() will use the
3375 sinkpad streaming thread and does not guarantee that
3376 the encoder is completely drained.
3378 2011-12-01 16:20:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3380 * omx/gstomxvideodec.c:
3381 omxvideodec: Properly drop frames due to QoS
3382 Instead of finishing them they should be passed to drop(), which
3383 will then send QoS messages.
3385 2011-11-29 12:21:32 +0100 Jonas Larsson <jonas@hallerud.se>
3387 * omx/gstomxh264enc.c:
3388 omxh264enc: Add support for resending headers after a forced-keyframe
3390 2011-11-29 12:12:33 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3392 * omx/gstbasevideocodec.h:
3393 * omx/gstbasevideoencoder.c:
3394 basevideoencoder: Pass the all-headers field of the force-key-unit event to the subclass
3396 2011-11-29 12:12:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3398 * omx/gstbasevideoencoder.c:
3399 * omx/gstbasevideoencoder.h:
3400 basevideoencoder: Implement full support for the new force-key-unit event
3401 Including support for the running-time and count fields.
3403 2011-11-29 09:31:11 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3405 * omx/gstbasevideoencoder.c:
3406 basevideoencoder: Use new force-keyunit event API from gst-plugins-base
3408 2011-11-29 09:18:19 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3410 * omx/gstbasevideoencoder.c:
3411 * omx/gstbasevideoencoder.h:
3412 basevideoencoder: Adjusting padding is not required for -bad libraries
3414 2011-11-28 19:48:01 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3416 * omx/gstbasevideoencoder.h:
3417 basevideoencoder: Move some fields to the private part of the instance struct
3419 2011-11-28 19:36:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3421 * omx/gstbasevideoencoder.c:
3422 basevideoencoder: Make headers metadata writable before pushing downstream
3423 The timestamp, duration, etc of the headers has to be changed.
3425 2011-11-28 19:35:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3427 * omx/gstbasevideoencoder.c:
3428 * omx/gstbasevideoencoder.h:
3429 basevideoencoder: Push the downstream force-keyframe event after the next keyframe
3430 Even if the corresponding GstVideoFrame doesn't have the is_sync_point
3433 2011-11-28 19:29:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3435 * omx/gstbasevideoencoder.c:
3436 * omx/gstbasevideoencoder.h:
3437 basevideoencoder: Don't push an upstream force-keyunit event downstream
3439 2011-11-25 11:48:08 +0100 Jonas Larsson <jonas@hallerud.se>
3441 * omx/gstbasevideoencoder.c:
3442 * omx/gstbasevideoencoder.h:
3443 basevideoencoder: Add initial support for the all-headers field of the force-keyframe event
3446 2011-11-25 11:37:39 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
3448 * omx/gstbasevideodecoder.c:
3449 basevideodecoder: some more debug logging
3451 2011-11-23 20:03:32 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
3453 * omx/gstbasevideodecoder.c:
3454 * omx/gstbasevideodecoder.h:
3455 basevideodecoder: add API to drop a frame and post a QoS message on the bus
3456 https://bugzilla.gnome.org/show_bug.cgi?id=640017
3457 API: gst_base_video_decoder_drop_frame()
3459 2011-11-22 23:04:49 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
3461 * omx/gstbasevideodecoder.c:
3462 docs: fix comment in gst_base_video_decoder_get_max_decode_time() docs
3464 2011-11-22 19:57:07 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
3466 * omx/gstbasevideodecoder.c:
3467 basevideodecoder: fix weird event list handling
3468 Get rid of weird code that copies a list manually, taking
3469 ownership of the elements and then frees the old list. Instead,
3470 just take over the old list entirely. (If the intent was to
3471 reverse the list, one could use g_list_reverse() instead).
3472 Then, push events in the list out from last to first (since they
3473 were prepended as they came in) instead of just pushing out the
3474 last in the list and leaking the others.
3476 2011-11-25 11:31:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3480 * omx/gstbaseaudiodecoder.c:
3481 * omx/gstbaseaudiodecoder.h:
3482 * omx/gstbaseaudioencoder.c:
3483 * omx/gstbaseaudioencoder.h:
3484 * omx/gstbaseaudioutils.c:
3485 * omx/gstbaseaudioutils.h:
3486 * omx/gstomxaacenc.c:
3487 * omx/gstomxaudioenc.c:
3488 * omx/gstomxaudioenc.h:
3489 omxaudioenc: Use audio base classes from gst-plugins-base instead of having our own copies
3491 2011-11-18 10:00:31 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3493 * omx/gstomxaudioenc.c:
3494 omxaudioenc: First set ports to flushing before waiting for the srcpad streaming thread to finish
3496 2011-11-18 09:59:43 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3498 * omx/gstomxvideoenc.c:
3499 omxvideoenc: First set ports to flushing before waiting for the srcpad streaming thread to finish
3501 2011-11-18 09:58:58 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3503 * omx/gstomxvideodec.c:
3504 omxvideodec: First set ports to flushing before waiting for the srcpad streaming thread to finish
3506 2011-11-17 14:38:54 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3509 omx: Only disabling of a port is like flushing, enabling is like unflushing
3511 2011-11-17 13:33:35 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3514 omx: Enabling/disabling a port is also like flushing
3515 The component returns all buffers to us and shouldn't get any
3516 new buffers passed anymore.
3518 2011-11-17 11:26:33 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3520 * omx/gstomxaudioenc.c:
3521 omxaudioenc: Signal the drain GCond even if downstream returned an error
3523 2011-11-17 11:26:20 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3525 * omx/gstomxvideoenc.c:
3526 omxvideoenc: Signal the drain GCond even if downstream returned an error
3528 2011-11-17 11:25:52 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3530 * omx/gstomxvideodec.c:
3531 omxvideodec: Signal the drain GCond even if downstream returned an error
3533 2011-11-17 10:34:19 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3535 * omx/gstbasevideoencoder.c:
3536 basevideoencoder: Only call ::reset once in READY->PAUSED
3538 2011-11-17 10:19:35 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3540 * omx/gstomxaudioenc.c:
3541 omxaudioenc: Shutdown component in PAUSED->READY and deallocate buffers
3543 2011-11-17 10:19:30 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3545 * omx/gstomxvideoenc.c:
3546 omxvideoenc: Shutdown component in PAUSED->READY and deallocate buffers
3548 2011-11-17 10:19:10 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3550 * omx/gstomxvideodec.c:
3551 omxvideodec: Shutdown component in PAUSED->READY and deallocate buffers
3553 2011-11-16 12:02:08 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3555 * omx/gstomxvideoenc.c:
3556 omxvideoenc: Set force_keyframe to FALSE after handling it
3557 There's no reason why the base class should forward the event
3558 further downstream if we already handled it and will insert a
3561 2011-11-16 11:21:25 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3563 * omx/gstomxvideodec.c:
3564 omxvideodec: Always push buffers downstream, even if we didn't find a corresponding GstVideoFrame
3566 2011-11-15 09:47:55 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3569 omx: Fix debug level for flushing in wrong state from ERROR to DEBUG
3570 It's not really an error and doesn't matter at all if flush is called
3571 when the component is not running.
3573 2011-11-15 08:40:07 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3575 * omx/gstomxh264enc.c:
3576 omxh264enc: Detect bytestream stream format and don't put SPS/PPS into the caps for this format
3578 2011-11-15 08:28:32 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3580 * omx/gstomxvideoenc.c:
3581 * omx/gstomxvideoenc.h:
3582 omxvideoenc: Add vfunc for handling the output frames
3583 This can be used by subclasses to override the buffer flags
3584 or to handle some frames differently than the default behaviour.
3586 2011-11-14 12:50:26 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3588 * omx/gstomxvideodec.c:
3589 omxvideodec: Don't release buffers twice if dropping because of QoS
3591 2011-11-14 09:13:06 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3594 omx: Add XXX to the nOffset reset hack comment for QCOM
3596 2011-11-10 15:18:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3598 * omx/gstomxaudioenc.c:
3599 omxaudioenc: Make srcpad caps setting threadsafe
3601 2011-11-10 15:17:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3603 * omx/gstomxvideoenc.c:
3604 omxvideoenc: Make srcpad caps setting threadsafe
3606 2011-11-10 15:17:41 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3608 * omx/gstomxvideodec.c:
3609 omxvideodec: Make srcpad caps setting threadsafe
3611 2011-11-10 15:10:14 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3613 * omx/gstomxaudioenc.c:
3614 omxaudioenc: Make the srcpad task and the sinkpad streaming thread handling threadsafe
3616 2011-11-10 15:03:05 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3618 * omx/gstomxaudioenc.c:
3619 omxaudioenc: Always flush the ports and make sure no processing is happening in ::flush
3620 This fixes a race condition that happened when seeking
3621 very often in a short period of time.
3623 2011-11-10 15:02:22 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3625 * omx/gstomxvideoenc.c:
3626 omxvideoenc: Always flush the ports and make sure no processing is happening in ::reset
3627 This fixes a race condition that happened when seeking
3628 very often in a short period of time.
3630 2011-11-10 15:01:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3632 * omx/gstomxvideoenc.c:
3633 omxvideoenc: Fix minor race condition when draining after upstream signalled EOS
3635 2011-11-10 14:56:19 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3637 * omx/gstomxaudioenc.c:
3638 omxaudioenc: Improve EOS handling
3639 If downstream return UNEXPECTED we should still signal the
3640 drain cond because nothing will trigger this again later.
3642 2011-11-10 14:56:11 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3644 * omx/gstomxvideoenc.c:
3645 omxvideoenc: Improve EOS handling
3646 If downstream return UNEXPECTED we should still signal the
3647 drain cond because nothing will trigger this again later.
3649 2011-11-10 14:54:33 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3651 * omx/gstomxaudioenc.c:
3652 omxaudioenc: Improve debugging of EOS and draining
3654 2011-11-10 14:54:17 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3656 * omx/gstomxvideoenc.c:
3657 omxvideoenc: Improve debugging of EOS and draining
3659 2011-11-10 14:51:06 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3661 * omx/gstomxvideodec.c:
3662 omxvideodec: Log if acquiring buffer for EOS failed
3664 2011-11-10 14:42:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3666 * omx/gstomxvideodec.c:
3667 omxvideodec: The component is not started in READY
3669 2011-11-10 14:39:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3671 * omx/gstomxaudioenc.c:
3672 omxaudioenc: No need to signal the drain cond when going from READY to PAUSED
3673 Also the component is not started in READY
3675 2011-11-10 14:40:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3677 * omx/gstomxvideoenc.c:
3678 omxvideoenc: No need to signal the drain cond when going from READY to PAUSED
3679 Also the component is not started in READY.
3681 2011-11-09 15:46:02 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3683 * omx/gstomxvideodec.c:
3684 omxvideodec: Always flush the ports and make sure no processing is happening in ::reset
3685 This fixes a race condition that happened when seeking
3686 very often in a short period of time.
3688 2011-11-09 15:45:20 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3690 * omx/gstomxvideodec.c:
3691 omxvideodec: Fix minor race condition when draining after upstream signalled EOS
3693 2011-11-09 15:44:11 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3695 * omx/gstomxvideodec.c:
3696 omxvideodec: Improve EOS handling
3697 If downstream return UNEXPECTED we should still signal the
3698 drain cond because nothing will trigger this again later.
3700 2011-11-09 15:43:32 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3702 * omx/gstomxvideodec.c:
3703 omxvideodec: Improve debugging of EOS and draining
3705 2011-11-09 15:42:46 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3707 * omx/gstomxvideodec.c:
3708 omxvideodec: The component is not started already when going from READY to PAUSED
3710 2011-11-09 15:42:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3712 * omx/gstomxvideodec.c:
3713 omxvideodec: No need to signal the drain cond when going from READY to PAUSED
3715 2011-11-09 15:41:02 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3718 omx: Always reset buffer flags for output ports, even in flushing/error state
3720 2011-11-09 09:00:57 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3722 * omx/gstomxvideodec.c:
3723 omxvideodec: Improve debugging in case of QoS-related frame drops
3725 2011-11-08 12:46:31 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3727 * omx/gstomxvideoenc.c:
3728 omxvideoenc: Release the video codec stream lock before acquiring an input buffer
3729 Otherwise the srcpad task might block on this lock and
3730 no buffers ever become available again.
3732 2011-11-08 12:45:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3734 * omx/gstomxaudioenc.c:
3735 omxaudioenc: Release the audio encoder stream lock before acquiring an input buffer
3736 Otherwise the srcpad task might block on this lock and
3737 no buffers ever become available again.
3739 2011-11-08 12:42:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3741 * omx/gstomxvideodec.c:
3742 omxvideodec: Release the video codec stream lock before acquiring an input buffer
3743 Otherwise the srcpad task might block on this lock and
3744 no buffers ever become available again.
3746 2011-11-08 11:07:01 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3748 * omx/gstomxaudioenc.c:
3749 * omx/gstomxaudioenc.h:
3750 omxaudioenc: Don't try to drain the component after EOS
3751 And don't send EOS twice in any case. This most likely
3752 will cause the component to not output it again and
3753 is not necessary anyway.
3755 2011-11-08 11:03:29 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3757 * omx/gstomxvideoenc.c:
3758 * omx/gstomxvideoenc.h:
3759 omxvideoenc: Don't try to drain the component after EOS
3760 And don't send EOS twice in any case. This most likely
3761 will cause the component to not output it again and
3762 is not necessary anyway.
3764 2011-11-08 10:46:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3766 * omx/gstomxvideodec.c:
3767 * omx/gstomxvideodec.h:
3768 omxvideodec: Don't try to drain the component after EOS
3769 And don't send EOS twice in any case. This most likely
3770 will cause the component to not output it again and
3771 is not necessary anyway.
3773 2011-11-08 09:09:28 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3775 * omx/gstomxvideodec.c:
3776 omxvideodec: Implement dropping of too late frames via QoS
3778 2011-11-08 08:31:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3780 * omx/gstomxaudioenc.c:
3781 omxaudioenc: Minor code refactoring
3783 2011-11-08 08:31:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3785 * omx/gstomxvideoenc.c:
3786 omxvideoenc: Minor code refactoring
3788 2011-11-08 08:31:32 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3790 * omx/gstomxvideodec.c:
3791 omxvideodec: Make sure to always release buffers back to OMX
3793 2011-11-08 08:24:19 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3796 omx: Also properly release buffers when in error state
3798 2011-11-08 08:22:08 +0100 Jonas Larsson <Jonas.Larsson@palm.com>
3801 omx: Properly release buffers during flushing
3802 We can't pass them back to OMX_FillThisBuffer() or OMX_EmptyThisBuffer()
3803 but instead of doing nothing we have to put them back into our queue.
3804 Otherwise the buffer is leaked and we will have too few buffers in
3807 2011-11-07 14:00:47 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3809 * omx/gstomxvideodec.c:
3810 omxvideodec: Free pending frames after draining component
3812 2011-11-07 14:00:35 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3814 * omx/gstomxvideoenc.c:
3815 omxvideoenc: Free pending frames after draining the component
3817 2011-11-07 11:07:01 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3819 * omx/gstomxvideoenc.c:
3820 omxvideoenc: Make handling and usage of the base video codec frames threadsafe
3822 2011-11-07 11:05:29 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3824 * omx/gstomxvideoenc.c:
3825 omxvideoenc: Fix deadlock between srcpad stream lock and ::reset()
3827 2011-11-07 11:04:27 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3829 * omx/gstomxvideodec.c:
3830 omxvideoenc: Make handling and usage of the base video codec frames threadsafe
3832 2011-11-07 10:58:44 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3834 * omx/gstomxvideoenc.c:
3835 omxvideoenc: Free all pending frames after draining the component
3837 2011-11-07 10:58:24 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3839 * omx/gstomxvideodec.c:
3840 omxvideodec: Always free all pending frames when caps changes require reconfiguration
3842 2011-11-04 09:43:48 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3844 * omx/gstomxaudioenc.c:
3845 omxaudioenc: Only drain the component a single time and only after processing started
3847 2011-11-04 09:43:32 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3849 * omx/gstomxvideodec.c:
3850 omxvideodec: Only drain the component a single time and only after processing started
3852 2011-11-04 09:43:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3854 * omx/gstomxvideoenc.c:
3855 omxvideoenc: Only drain the component a single time and only after processing started
3857 2011-11-04 09:04:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3860 omx: Reset buffer flags to 0 after it was consumed by the component or the element
3861 Some implementations don't reset the flags and the standard is not
3862 really clear on the expected behaviour. Let's just always reset the
3863 flags as they're not valid at this point anymore.
3865 2011-11-02 13:50:14 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3867 * omx/gstomxvideoenc.c:
3868 * omx/gstomxvideoenc.h:
3869 omxvideoenc: Better handling of encoder parameters
3870 Only set them if necessary and allow to use the component
3873 2011-11-02 13:22:50 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3875 * omx/gstomxvideoenc.c:
3876 omxvideoenc: Make unsupported bitrate/quantizer settings less fatal
3878 2011-11-02 10:39:50 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3880 * omx/gstomxvideodec.c:
3881 omxvideodec: If no stride was set for the OMX output port assume GStreamer stride
3882 This is not really correct but there's nothing else we could do.
3884 2011-11-02 10:39:10 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3886 * omx/gstomxvideoenc.c:
3887 omxvideoenc: If no stride was set for the OMX input port assume GStreamer stride
3888 This is not really correct but there's nothing else we could do.
3890 2011-11-01 16:46:09 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3892 * omx/gstomxaudioenc.c:
3893 * omx/gstomxaudioenc.h:
3894 omxaudioenc: Implement draining of the component and use it
3895 This makes sure that all buffers are encoded and pushed downstream
3896 before flushing the ports and losing some buffers.
3898 2011-11-01 16:41:46 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3900 * omx/gstomxvideoenc.c:
3901 * omx/gstomxvideoenc.h:
3902 omxvideoenc: Implement draining of the component and use it
3903 This makes sure that all buffers are encoded and pushed downstream
3904 before flushing the ports and losing some buffers.
3906 2011-11-01 16:08:59 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3908 * omx/gstomxvideodec.c:
3909 * omx/gstomxvideodec.h:
3910 omxvideodec: Implement draining of the component and use it
3911 This makes sure that all buffers are decoded and pushed downstream
3912 before flushing the ports and losing some buffers.
3914 2011-10-20 14:32:40 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3916 * omx/gstomxvideodec.c:
3917 omxvideodec: Fix deadlock if ::reset is called before finding the corresponding frame of a decoded buffer
3919 2011-11-01 15:10:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3921 * omx/gstomxaudioenc.c:
3922 * omx/gstomxaudioenc.h:
3923 * omx/gstomxvideoenc.h:
3924 omxaudioenc: Forward downstream flow returns to upstream
3926 2011-11-01 15:10:01 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3928 * omx/gstomxvideoenc.c:
3929 omxvideoenc: Forward downstream flow returns to upstream
3931 2011-11-01 13:58:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3933 * omx/gstomxvideodec.c:
3934 * omx/gstomxvideodec.h:
3935 omxvideodec: Forward downstream flow returns to upstream
3937 2011-10-25 14:23:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3940 omx: Add minimal README file
3942 2011-10-20 15:21:07 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3944 * omx/gstomxvideodec.c:
3945 omxvideodec: Fix deadlock caused by calling reset while the loop function does something with the base video codec stream lock
3947 2011-10-20 15:20:47 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3949 * omx/gstomxvideoenc.c:
3950 omxvideoenc: Fix deadlock caused by calling reset while the loop function does something with the base video codec stream lock
3952 2011-10-20 14:30:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3954 * omx/gstomxvideodec.c:
3955 omxvideodec: Move locking at the correct place
3957 2011-10-14 10:27:47 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3961 omx: Remove QCOM hack to reset nOffset in EmptyBufferDone
3962 This is now done in a generic way that does not require any
3963 hacks because it will work without any side effects on any
3966 2011-10-14 10:26:00 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3969 omx: Reset nOffset to 0 in EmptyBufferDone if nFilledLen is 0
3970 Some OMX implementations don't reset nOffset when the complete
3971 buffer is emptied but instead only reset nFilledLen. We reset
3972 nOffset to 0 if nFilledLen == 0, which is safe to do because
3973 the offset *must* be 0 if the buffer is not filled at all.
3974 Seen in QCOM's OMX implementation.
3976 2011-10-04 10:56:33 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3978 * omx/gstomxvideoenc.c:
3979 omxvideoenc: If one parameter/configuration is not supported don't skip the next
3981 2011-10-03 09:12:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3983 * omx/gstomxh264dec.c:
3984 omxh264dec: Require stream-format=byte-stream
3985 Other stream-formats are unlikely to be supported by OMX components.
3987 2011-09-29 10:37:32 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3989 * omx/gstomxvideodec.c:
3990 * omx/gstomxvideodec.h:
3991 omxvideodec: Add API for subclasses to prepare/convert frames
3993 2011-09-27 15:08:54 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3995 * omx/gstomxaudioenc.c:
3996 omxaudioenc: Switch to Idle first and wait before switching to Loaded and deallocating buffers
3997 Allocating buffers before the Idle state is reached can lead to crashes.
3999 2011-09-27 15:08:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4001 * omx/gstomxvideoenc.c:
4002 omxvideoenc: Switch to Idle first and wait before switching to Loaded and deallocating buffers
4003 Allocating buffers before the Idle state is reached can lead to crashes.
4005 2011-09-27 15:05:19 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4007 * omx/gstomxvideodec.c:
4008 omxvideodec: Switch to Idle first and wait before switching to Loaded and deallocating buffers
4009 Allocating buffers before the Idle state is reached can lead to crashes.
4011 2011-09-27 14:15:06 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4015 * omx/gstomxvideodec.c:
4016 omxvideodec: New hack for QCOM to recreate the component instead of reconfiguring it on caps changes
4018 2011-09-27 12:13:56 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4021 omx: Change a g_assert() into a GST_WARNING_OBJECT()
4023 2011-09-26 13:04:18 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4027 omx: Add hack for Qualcomm's OMX implementation to manually reset nOffset in EmptyBufferDone
4029 2011-09-23 17:02:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4031 * omx/gstomxaudioenc.c:
4032 omxaudioenc: Add a check to prevent a zero-sized OMX buffer
4034 2011-09-23 17:02:19 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4036 * omx/gstomxvideoenc.c:
4037 omxvideoenc: Add some more checks for correct OMX buffer sizes
4039 2011-09-23 15:53:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4041 * omx/gstomxvideodec.c:
4042 omxvideodec: Add some more checks for OMX buffer sizes
4044 2011-09-14 10:15:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4048 * omx/gstomxaudioenc.c:
4049 * omx/gstomxvideodec.c:
4050 * omx/gstomxvideoenc.c:
4051 omx: Wait until the Executing state is reached before calling OMX_FillThisBuffer()
4052 This correctly works around the QCOM race condition that happens when calling
4053 FTB after setting the new state and before reaching it.
4055 2011-09-02 14:43:43 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4057 * omx/gstomxvideodec.c:
4058 omxvideodec: Negotiate video format with downstream and what the component claims to support
4060 2011-08-25 19:56:58 +0100 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
4062 * omx/gstbasevideoencoder.c:
4063 basevideoencoder: fix element leak
4064 and this concludes an hour of yelling at the bloody test failing,
4065 only to track down the problem not being in the test.
4066 https://bugzilla.gnome.org/show_bug.cgi?id=657368
4068 2011-08-19 09:20:39 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4070 * omx/gstomxvideoenc.c:
4071 omxvideoenc: Release basevideocodec stream lock while waiting for a buffer
4072 This prevents deadlocks if no empty input buffers are available and
4073 releasing input buffers requires the loop function to handle some
4074 output buffers first.
4076 2011-08-19 09:19:22 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4078 * omx/gstomxvideodec.c:
4079 omxvideodec: Release basevideocodec stream lock while waiting for a buffer
4080 This prevents deadlocks if no empty input buffers are available and
4081 releasing input buffers requires the loop function to handle some
4082 output buffers first.
4084 2011-08-18 10:24:26 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4086 * omx/gstbasevideodecoder.c:
4087 basevideodecoder: Fix deadlock
4089 2011-08-18 10:03:20 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4091 * omx/gstbaseaudiodecoder.c:
4092 baseaudiodecoder: Don't take the stream lock in the seek handler
4093 This will lead to deadlocks
4095 2011-08-18 10:02:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4097 * omx/gstbasevideocodec.c:
4098 * omx/gstbasevideocodec.h:
4099 * omx/gstbasevideodecoder.c:
4100 * omx/gstbasevideoencoder.c:
4101 basevideo: Fix locking, especially if both pads have different streaming threads
4103 2011-08-18 09:42:02 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4105 * omx/gstbasevideodecoder.c:
4106 * omx/gstbasevideoencoder.c:
4107 basevideo: Don't call g_type_class_peek_parent() in class_init
4108 This is already done by the GObject boilerplate macro
4110 2011-08-18 09:40:46 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4112 * omx/gstbaseaudiodecoder.c:
4113 baseaudiodecoder: Don't call g_type_class_peek_parent() in class_init
4114 This is already done by the boilerplate macro
4116 2011-08-18 09:34:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4118 * omx/gstbaseaudiodecoder.c:
4119 * omx/gstbaseaudiodecoder.h:
4120 baseaudiodecoder: Fix thread safety issues if both pads have different streaming threads
4122 2011-08-18 09:17:04 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4124 * omx/gstbaseaudiodecoder.c:
4125 baseaudiodecoder: Delay sending of serialized events to finish_frame()
4127 2011-08-17 14:33:31 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4129 * omx/gstomxaudioenc.c:
4130 omxaudioenc: Always require at least OMX_MIN_PCMPAYLOAD_MSEC per input buffer
4132 2011-08-17 14:28:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4134 * omx/gstbaseaudioencoder.c:
4135 * omx/gstbaseaudioencoder.h:
4136 baseaudioencoder: Add support for requesting a minimum and maximum number of samples per frame
4137 This extends the special case of a fixed number of samples per frame
4138 that was supported before already.
4140 2011-08-17 14:17:18 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4142 * omx/gstomxaudioenc.c:
4143 omxaudioenc: Handle inbuf==NULL properly in ::handle_frame()
4145 2011-08-17 13:04:19 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4147 * omx/gstomxaacenc.c:
4148 omxaacenc: Implement ::get_num_samples() vfunc
4150 2011-08-17 13:03:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4152 * omx/gstomxaudioenc.c:
4153 * omx/gstomxaudioenc.h:
4154 omxaudioenc: Add vfunc to get the number of samples inside a buffer
4156 2011-08-17 11:34:31 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4158 * omx/gstomxaudioenc.c:
4159 omxaudioenc: Release baseaudioencoder stream lock while waiting for a buffer in ::handle_frame()
4160 This prevents deadlocks if no empty input buffers are available and
4161 releasing input buffers requires the loop function to handle some
4162 output buffers first.
4164 2011-08-17 11:34:04 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4166 * omx/gstbaseaudioencoder.c:
4167 * omx/gstbaseaudioencoder.h:
4168 baseaudioencoder: Fix thread safety issues if both pads have different streaming threads
4170 2011-08-17 09:58:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4172 * omx/gstbaseaudioencoder.c:
4173 baseaudioencoder: Taking the OBJECT lock in reset() is not needed
4175 2011-08-16 11:03:24 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4177 * omx/gstomxaudioenc.c:
4178 omxaudioenc: Remove hack that only applies to the video encoder class
4180 2011-08-16 10:49:21 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4185 * omx/gstomxaacenc.c:
4186 * omx/gstomxaacenc.h:
4187 omxaacenc: Add initial version of OpenMAX AAC encoder element
4189 2011-08-15 15:10:04 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4192 * omx/gstomxaudioenc.c:
4193 * omx/gstomxaudioenc.h:
4194 omxaudioenc: Add initial version of audio encoder base class
4196 2011-08-15 14:14:11 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4198 * omx/gstbaseaudioencoder.c:
4199 baseaudioencoder: Delay sending of serialized events to finish_frame()
4201 2011-08-15 13:06:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4204 * omx/gstbaseaudiodecoder.c:
4205 * omx/gstbaseaudiodecoder.h:
4206 * omx/gstbaseaudioencoder.c:
4207 * omx/gstbaseaudioencoder.h:
4208 audio: Integrate audio base classes into the build system and fixup
4210 2011-08-15 12:56:00 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4212 * omx/gstbaseaudiodecoder.c:
4213 * omx/gstbaseaudiodecoder.h:
4214 * omx/gstbaseaudioencoder.c:
4215 * omx/gstbaseaudioencoder.h:
4216 * omx/gstbaseaudioutils.c:
4217 * omx/gstbaseaudioutils.h:
4218 audio: Add audio decoder/encoder base classes
4219 Taken from http://cgit.collabora.com/git/user/manauw/gst-plugins-bad.git/log/?h=baseaudio
4221 2011-08-12 12:25:03 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4223 * omx/gstbasevideoencoder.c:
4224 basevideoencoder: Proxy the width/height/framerate/PAR constraints of downstream caps to upstream
4225 This allows to specify constraints on the compressed downstream caps
4226 by muxers or capsfilters, which will then be forwarded to upstream
4227 and allows video converters to fulfill the constraints.
4228 Code based on Mark Nauwelaerts audio encoder base class.
4230 2011-08-12 12:13:45 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4232 * omx/gstbasevideoencoder.h:
4233 basevideoencoder: Remove old ::getcaps() comment
4235 2011-08-12 12:06:23 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4237 * omx/gstbasevideoencoder.c:
4238 * omx/gstbasevideoencoder.h:
4239 basevideoencoder: Remove ::get_caps() vfunc
4240 Subclasses can set the caps more efficiently and this only
4241 caused additional indirections.
4243 2011-08-10 10:24:21 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4245 * omx/gstomxh263enc.c:
4246 * omx/gstomxh264enc.c:
4247 * omx/gstomxmpeg4videoenc.c:
4248 * omx/gstomxvideoenc.c:
4249 omxvideoenc: Use "video/x-raw-yuv" as sink template caps instead of strict I420 caps
4251 2011-08-10 10:23:39 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4253 * omx/gstomxmpeg4videodec.c:
4254 omxmpeg4videodec: Don't require width/height on sink pad caps
4256 2011-08-10 10:11:37 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4258 * omx/gstomxh263dec.c:
4259 * omx/gstomxh264dec.c:
4260 * omx/gstomxmpeg4videodec.c:
4261 * omx/gstomxvideodec.c:
4262 * omx/gstomxwmvdec.c:
4263 omxvideodec: Use "video/x-raw-yuv" as src template caps instead of strict I420 caps
4265 2011-08-10 09:56:30 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4267 * omx/gstomxvideoenc.c:
4268 omxvideoenc: Set the state back to StateLoaded even if an error happened
4270 2011-08-10 09:49:57 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4273 omx: Don't hold any locks while calling OMX_SendCommand()
4274 It might call into one of the callbacks and lead to deadlocks, e.g.
4275 with the Qualcomm OMX implementation.
4277 2011-08-10 09:32:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4282 2011-08-10 09:23:10 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4285 omx: Reset pending reconfigure output ports when changing the state from Executing to any lower state
4287 2011-08-10 09:08:00 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4290 omx: Fix crash when setting last error after the ports were freed
4292 2011-08-10 09:03:52 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4295 omx: Free component structure
4297 2011-08-10 09:02:52 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4300 omx: Make component destruction safer
4302 2011-08-10 08:53:05 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4305 omx: Set pAppPrivate of buffers to NULL when deallocating buffers
4306 This prevents usage of freed memory later if the OMX component
4307 has weird behaviour.
4309 2011-08-10 08:52:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4311 * omx/gstomxvideodec.c:
4312 omxvideodec: Set the state back to StateLoaded even if an error happened
4314 2011-08-10 08:51:54 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4317 omx: Add some assertions to check if the buffer pAppPrivate is still correct
4319 2011-08-08 13:04:30 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4322 omx: Add parenthesis at correct places in the struct init macro
4324 2011-08-08 12:12:58 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4327 omx: Only prevent setting a higher state if the component is in an error state
4329 2011-08-03 16:02:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4331 * omx/gstbasevideodecoder.c:
4332 basevideodecoder: Use the cached video frame size instead of recalculating it
4334 2011-08-03 15:35:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4337 omx: Improve debugging in param/config getter/setter wrappers
4339 2011-08-03 13:10:33 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4341 * omx/gstomxvideodec.c:
4342 omxvideodec: Don't abort if the color format is not supported but give a useful error message
4344 2011-08-02 15:14:37 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4346 * omx/gstomxh263enc.c:
4347 * omx/gstomxh264enc.c:
4348 * omx/gstomxmpeg4videoenc.c:
4349 * omx/gstomxvideoenc.c:
4350 omxvideoenc: Don't fail if setting the bitrate or profile is not supported by the component
4351 Also always set/get the profile, even if there are no peer caps.
4353 2011-08-02 15:14:24 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4355 * omx/gstbasevideoencoder.c:
4356 basevideoencoder: Make access to the list of frames threadsafe
4358 2011-08-01 13:22:05 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4362 omx: Add a hacks flag for the Qualcomm 7x30 OMX_FillThisBuffer() race and make it optional
4364 2011-07-29 13:56:59 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4367 omx: Add workaround for QCOM 7x30 race condition
4369 2011-07-29 12:06:21 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4373 * omx/gstomxh263enc.c:
4374 * omx/gstomxh263enc.h:
4375 omxh263enc: Add H.263 encoder element
4377 2011-07-29 11:26:39 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4379 * omx/gstomxmpeg4videoenc.c:
4380 omxmpeg4videoenc: Add support for setting profile/level via caps
4382 2011-07-28 14:14:45 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4384 * omx/gstomxh264enc.c:
4385 omxh264enc: Add support for setting profile/level via caps
4387 2011-07-28 12:58:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4389 * omx/gstomxvideoenc.c:
4390 omxvideoenc: Add support for forcing the next frame to be a keyframe
4392 2011-07-28 11:54:16 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4394 * omx/gstomxvideoenc.c:
4395 * omx/gstomxvideoenc.h:
4396 omxvideoenc: Add support for setting bitrate/quantization related parameters
4398 2011-07-28 10:23:08 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4402 omx: Add wrapper functions for OMX_[GS]et{Config,Parameter}
4404 2011-07-28 09:54:53 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4408 omx: Add macro to initialize OpenMAX structures
4410 2011-07-28 09:08:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4412 * omx/gstomxvideoenc.c:
4413 omxvideoenc: Don't output 0-byte buffers
4415 2011-07-25 15:05:08 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4418 omx: Ensure that the pAppPrivate pointer in OMX buffers is set correctly
4420 2011-07-25 13:19:06 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4422 * omx/gstomxvideodec.c:
4423 * omx/gstomxvideoenc.c:
4424 omxvideo{enc,dec}: Only set/unset flushing state on ports if they were created already
4426 2011-07-25 12:01:05 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4430 * omx/gstomxwmvdec.c:
4431 * omx/gstomxwmvdec.h:
4432 omxwmvdec: Add WMV video decoder element
4434 2011-07-25 11:44:56 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4438 * omx/gstomxh263dec.c:
4439 * omx/gstomxh263dec.h:
4440 omxh263dec: Add H.263 decoder element
4442 2011-07-25 11:32:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4446 * omx/gstomxh264enc.c:
4447 * omx/gstomxh264enc.h:
4448 omxh264enc: Add H.264 encoder element
4450 2011-07-25 10:48:58 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4452 * omx/gstomxvideodec.c:
4453 omxvideodec: Try harder to deallocate the buffers after errors happened
4455 2011-07-25 10:47:28 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4457 * omx/gstomxvideoenc.c:
4458 omxvideoenc: Try harder to deallocate the buffers after errors happened
4460 2011-07-25 10:46:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4463 omx: Deallocate port buffers before freeing the component
4464 They should be deallocated by the caller before reaching the
4465 Loaded state but to be on the safe side we will make sure
4466 they're really deallocated here.
4468 2011-07-21 11:15:14 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4470 * omx/gstomxvideoenc.c:
4471 omxvideoenc: Add initial support for stride conversion
4473 2011-07-21 10:38:26 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4475 * omx/gstomxh264dec.c:
4476 * omx/gstomxmpeg4videodec.c:
4477 * omx/gstomxmpeg4videoenc.c:
4478 omx: Set default roles for the components if none were set from the config file
4480 2011-07-21 10:36:19 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4483 omx: Failure to set the component role is fatal
4485 2011-07-21 07:53:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4487 * omx/gstomxvideoenc.c:
4488 omxvideoenc: Add support for setting codec_data on the srcpad caps
4490 2011-07-21 07:44:34 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4492 * omx/gstomxvideoenc.c:
4493 omxvideoenc: Free/drop GstVideoFrames that resulted in an empty buffer
4495 2011-07-21 07:44:10 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4497 * omx/gstbasevideoencoder.c:
4498 basevideoencoder: Allow finishing of frames with no src_buffer to drop/free the GstVideoFrame
4500 2011-07-21 07:31:05 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4502 * omx/gstomxvideoenc.c:
4503 omxvideoenc: Remove obsolete TODO comment
4505 2011-07-20 11:09:54 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4509 omx: Use libgstopenmax.so for the plugin filename and openmax for the plugin name
4510 Resolves conflicts with gst-openmax.
4512 2011-07-20 08:34:33 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4518 * omx/gstomxmpeg4videoenc.c:
4519 * omx/gstomxmpeg4videoenc.h:
4520 * omx/gstomxvideoenc.c:
4521 * omx/gstomxvideoenc.h:
4522 omxvideoenc: Add video encoder base class and MPEG4 video encoder
4523 Unfortunately requires lots of hacks again to work properly with
4526 2011-07-20 10:39:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4528 * omx/gstbasevideoencoder.c:
4529 basevideoencoder: Only get caps from the subclass if they were not set yet by the subclass
4531 2011-07-20 09:25:28 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4533 * omx/gstbasevideoencoder.c:
4534 * omx/gstbasevideoencoder.h:
4535 basevideoencoder: Delay sending of serialized sink events until finish_frame()
4537 2011-07-20 09:09:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4539 * omx/gstbasevideoencoder.c:
4540 * omx/gstbasevideoencoder.h:
4541 basevideoencoder: Add ::reset vfunc and handle ::reset/::finish the same way as in the decoder
4543 2011-07-19 12:50:43 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4545 * omx/gstbasevideoencoder.c:
4546 basevideoencoder: Use a temporary GstVideoState until the subclass accepted the caps
4547 Also store the caps in the GstVideoState and assume a PAR of 1/1 instead
4548 of 0/1 if no PAR is specified in the caps.
4550 2011-07-19 12:29:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4553 * omx/gstomxvideodec.c:
4554 omx: Improve debug output a bit
4556 2011-07-19 10:33:54 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4560 * omx/gstomxvideodec.c:
4561 omx: Rework port reconfiguration again and only use the Bellagio specific hacks with Bellagio
4562 We only reconfigure ports that need to be reconfigured now instead of
4565 2011-07-19 10:33:15 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4570 * omx/gstomxvideodec.c:
4571 * omx/gstomxvideodec.h:
4572 omx: Add infrastructure to enable special hacks for broken OpenMAX implementations
4574 2011-07-18 13:10:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4577 omx: When acquiring a buffer from an input port always wait until all output ports are reconfigured
4579 2011-07-18 08:41:20 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4581 * omx/gstomxvideodec.c:
4582 omxvideodec: Add support for converting between omx and gst rowstrides
4584 2011-07-14 10:34:09 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4587 omx: Provide all buffers to output ports after enabling them
4589 2011-07-14 08:29:03 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4591 * omx/gstomxvideodec.c:
4592 omxvideodec: Add support for NV12 / OMX_COLOR_FormatYUV420SemiPlanar
4594 2011-07-14 07:58:41 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4596 * omx/gstomxvideodec.c:
4597 * omx/gstomxvideodec.h:
4598 omxvideodec: Only flush the component ports after we passed input to them
4600 2011-07-13 21:19:34 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4602 * omx/gstomxvideodec.c:
4603 omxvideodec: Only change states downwards if an upper state was reached
4605 2011-07-13 20:37:02 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4609 * omx/gstomxvideodec.c:
4610 * omx/gstomxvideodec.h:
4611 omx: Add support for setting the component-role
4613 2011-07-13 20:22:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4617 * omx/gstomxvideodec.c:
4618 omx: Improve error reporting by formatting the error codes better and also providing their string representation
4620 2011-07-13 14:36:14 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4623 build: Dist autogen.sh
4625 2011-07-13 14:35:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4629 build: Only require GStreamer >= 0.10.29 and GLib >= 2.16
4631 2011-07-13 14:04:47 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4634 build: Dist gstomx.conf
4636 2011-07-13 14:04:20 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4639 build: Clean _stdint.h on "make distclean"
4641 2011-07-13 14:02:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4643 * omx/gstomxvideodec.c:
4644 omxvideodec: Fix typo
4646 2011-07-13 13:59:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4651 2011-07-13 12:46:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4653 * omx/gstomxvideodec.c:
4654 omxvideodec: Set SYNCFRAME flag on the OMX buffers for non-delta units
4656 2011-07-13 12:37:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4658 * omx/gstomxvideodec.c:
4659 omxvideodec: Free all pending frames when resetting the decoder
4660 Workaround for https://bugzilla.gnome.org/show_bug.cgi?id=654529
4662 2011-07-13 09:59:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4664 * omx/gstomxvideodec.c:
4665 omxvideodec: Handle output buffers without a corresponding GstVideoFrame more gracefully
4666 This can happen on EOS in some cases and when the input is not
4669 2011-07-13 09:31:22 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4671 * omx/gstomxvideodec.c:
4672 omxvideodec: Fix deadlock when finishing old frames that are left over by the decoder
4674 2011-07-12 11:37:28 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4676 * omx/gstomxh264dec.c:
4677 omxh264dec: It's called H.264, not H264
4679 2011-07-12 11:36:42 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4681 * omx/gstomxh264dec.c:
4682 * omx/gstomxmpeg4videodec.c:
4683 * omx/gstomxvideodec.c:
4684 * omx/gstomxvideodec.h:
4685 omxvideodec: Make sink/src pad template caps configurable
4687 2011-07-12 11:13:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4690 omx: Allow to set a preferred configuration directory with the GST_OMX_CONFIG_DIR environment variable
4692 2011-07-12 10:55:57 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4694 * omx/gstomxh264dec.c:
4695 * omx/gstomxmpeg4videodec.c:
4696 * omx/gstomxvideodec.c:
4697 omxvideodec: Make core/component-name and in/outport index configurable
4699 2011-07-12 10:05:31 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4704 omx: Add initial version of configuration system
4705 This now only registers elements that are specified in the
4707 The configuration file is a keyfile in the first XDG configuration
4708 directory with the name gstomx.conf.
4710 2011-07-12 08:53:15 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4714 * omx/gstomxh264dec.c:
4715 * omx/gstomxh264dec.h:
4716 * omx/gstomxh264videodec.h:
4717 omxh264dec: Rename from omxh264videodec to omxh264dec
4719 2011-07-12 08:40:48 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4721 * omx/gstomxh264videodec.c:
4722 omxh264videodec: Require alignment=au and stream-format={avc,bytestream}
4724 2011-07-11 12:59:07 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4726 * omx/gstbasevideodecoder.c:
4727 basevideodecoder: First inform subclass about resetting before resetting/freeing all internal state
4728 The subclass might want to access the old state.
4730 2011-07-11 12:36:42 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4732 * omx/gstbasevideodecoder.c:
4733 basevideodecoder: Track present position on discont before resetting it
4735 2011-07-11 11:52:33 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4737 * omx/gstbasevideodecoder.c:
4738 basevideodecoder: Also protect the list of pending frames from concurrent access when pushing all pendings events
4740 2011-07-11 11:28:40 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4742 * omx/gstbasevideocodec.c:
4743 * omx/gstbasevideocodec.h:
4744 * omx/gstbasevideodecoder.c:
4745 basevideocodec: Protect access to the list of pending frames with the object lock
4746 This is required if ::finish_frame() and all buffer output happens
4747 on a different thread than the sinkpad streaming thread.
4749 2011-07-11 09:35:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4751 * omx/gstbasevideodecoder.c:
4752 basevideodecoder: Set the correct lists to NULL after freeing
4754 2011-07-11 08:54:53 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4756 * omx/gstbasevideodecoder.c:
4757 basevideodecoder: Work with a copy of the GstVideoState in setcaps until the caps are accepted
4758 Also fix a refcount problem with the codec_data.
4760 2011-07-12 08:34:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4764 * omx/gstomxh264videodec.c:
4765 * omx/gstomxh264videodec.h:
4766 omxh264videodec: Add h.264 video decoder
4768 2011-07-12 08:29:15 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4770 * omx/gstomxmpeg4videodec.c:
4771 omxmpeg4videodec: Fix debug category name
4773 2011-07-09 11:41:42 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4776 * omx/gstbasevideocodec.h:
4777 * omx/gstbasevideodecoder.c:
4778 * omx/gstbasevideoencoder.c:
4779 * omx/gstbasevideoutils.c:
4780 * omx/gstbasevideoutils.h:
4781 basevideo: Move the utils from the codec header to its own header
4783 2011-07-09 11:32:06 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4785 * omx/gstbasevideocodec.c:
4786 * omx/gstbasevideodecoder.c:
4787 basevideo: Use GSlice for allocating GstVideoFrame and don't duplicate code in the decoder base class
4789 2011-07-09 11:05:37 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4791 * omx/gstomxvideodec.c:
4792 omxvideodec: Use the destroy notify to free the coder_hook
4794 2011-07-09 10:57:52 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4796 * omx/gstbasevideocodec.c:
4797 * omx/gstbasevideocodec.h:
4798 * omx/gstbasevideodecoder.c:
4799 basevideo: Add destroy notify for the coder_hook to prevent memory leaks
4802 2011-07-09 10:44:16 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4805 basevideo: Fix GType names to not conflict with the public video base classes
4806 It's still not possible to include headers of both in the same file
4807 or compile/link both into the same plugin but that shouldn't be
4810 2011-07-08 15:42:56 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4812 * omx/gstomxvideodec.c:
4813 omxvideodec: Fix some minor memory leaks
4815 2011-07-08 15:25:07 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4819 * omx/gstomxvideodec.c:
4820 omx: Rework port reconfiguration
4821 We always reconfigure all ports now if the settings of one
4822 port changes to prevent lots of race conditions, dropped
4823 frames and similar issues.
4825 2011-07-08 13:16:45 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4827 * omx/gstomxvideodec.c:
4828 * omx/gstomxvideodec.h:
4829 omxvideodec: Use the frames storage of the base class instead of implementing our own
4830 They could get out of sync and we could store already destroyed frames.
4832 2011-07-07 12:51:03 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4835 omx: Clarify GQueue/GPtrArray element types
4837 2011-07-07 12:23:24 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4841 * omx/gstomxvideodec.c:
4842 omx: Add more checks to acquire_buffer() and return the current state additional to the buffer
4843 Also refactor the code flow in the video decoder for this. This makes
4844 the usage of acquire_buffer() easier and more atomic.
4846 2011-07-07 12:22:57 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4848 * omx/gstomxvideodec.c:
4849 omxvideodec: Also flush/unflush the input port when changing the state PAUSED<->READY
4851 2011-07-07 12:21:31 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4854 omx: Don't broadcast port->port_cond after allocating buffers successfully
4855 Allocating buffers must happen while no thread is waiting for the
4856 cond and especially must happen from the thread that would acquire
4857 buffers from the port.
4859 2011-07-07 11:27:15 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4861 * omx/gstomxvideodec.c:
4862 omxvideodec: Don't leak the codec_data after sending it
4864 2011-07-07 10:27:31 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4867 omx: Always check if the component is in an error state before waiting for a condition variable to be signalled
4868 Otherwise we might wait forever because nothing is going to signal
4869 the condition variable anymore.
4871 2011-07-07 10:22:12 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4874 omx: Always hold port->port_lock before signalling port->port_cond when notifying about errors
4875 Otherwise a port might be in the critical section, has checked the error state
4876 already but waits after port->port_cond is signalled, which will lead
4879 2011-07-07 10:07:43 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4881 * omx/gstomxvideodec.c:
4882 omxvideodec: Remove reconfiguration test hack
4884 2011-07-06 13:27:12 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4887 omx: Improve debug output a bit
4889 2011-07-06 13:26:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4892 omx: Always try to deallocate buffers, even if there's a component error
4894 2011-07-06 13:26:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4897 omx: Use G_USEC_PER_SEC for clarity instead of 1000000
4899 2011-07-06 13:19:15 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4901 * omx/gstomxvideodec.c:
4902 omxvideodec: Error out if the GStreamer allocated buffer is smaller than the OpenMAX output buffer
4903 Usually this must never happen but currently it happens during reconfigurations
4904 because of a race condition. Still it's better than crashing.
4906 2011-07-06 10:40:13 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4910 omx: Don't use port_def.bEnabled to check if the Enable/Disable command is finished
4911 bEnabled should be set immediately after sending the command, it's only
4912 Bellagio that waits until the command is finished before setting it.
4914 2011-07-06 10:30:11 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4916 * omx/gstomxvideodec.c:
4917 omxvideodec: Remove obsolete FIXME comment
4919 2011-07-06 10:29:54 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4923 omx: Improve error handling and reporting
4925 2011-07-06 08:48:37 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4927 * omx/gstomxmpeg4videodec.c:
4928 * omx/gstomxvideodec.c:
4929 * omx/gstomxvideodec.h:
4930 omxvideodec: Make the inport and outport index configurable by the subclass
4932 2011-06-28 08:51:23 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4937 * omx/gstomxmpeg4videodec.c:
4938 * omx/gstomxmpeg4videodec.h:
4939 * omx/gstomxvideodec.c:
4940 * omx/gstomxvideodec.h:
4941 omx: Add initial version of OpenMAX framework, video decoder base class and MPEG4 video decoder
4942 This currently hardcodes a lot of stuff but works at least.
4943 Also adds a generic framework for handling OpenMAX cores, components
4946 2011-06-28 11:47:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4948 * omx/gstbasevideocodec.c:
4949 * omx/gstbasevideocodec.h:
4950 * omx/gstbasevideodecoder.c:
4951 * omx/gstbasevideodecoder.h:
4952 basevideodecoder: Don't reorder serialized src events
4953 And allow to drop EOS by the subclass if ::finish returns
4957 2011-06-27 09:41:40 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4959 * omx/gstbasevideocodec.c:
4960 * omx/gstbasevideocodec.h:
4961 * omx/gstbasevideodecoder.c:
4962 basevideo: Add the caps to the GstVideoState and clean up caps/codec_data properly
4964 2011-06-27 09:37:03 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4966 * omx/gstbasevideocodec.c:
4967 * omx/gstbasevideocodec.h:
4968 * omx/gstbasevideodecoder.c:
4969 * omx/gstbasevideodecoder.h:
4970 * omx/gstbasevideoencoder.c:
4971 * omx/gstbasevideoencoder.h:
4972 * omx/gstbasevideoutils.c:
4973 basevideo: Add video encoder/decoder base classes from gst-plugins-bad
4975 2011-06-21 11:17:35 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4977 * omx/openmax/OMX_Audio.h:
4978 * omx/openmax/OMX_Component.h:
4979 * omx/openmax/OMX_ComponentExt.h:
4980 * omx/openmax/OMX_ContentPipe.h:
4981 * omx/openmax/OMX_Core.h:
4982 * omx/openmax/OMX_CoreExt.h:
4983 * omx/openmax/OMX_IVCommon.h:
4984 * omx/openmax/OMX_Image.h:
4985 * omx/openmax/OMX_Index.h:
4986 * omx/openmax/OMX_IndexExt.h:
4987 * omx/openmax/OMX_Other.h:
4988 * omx/openmax/OMX_Types.h:
4989 * omx/openmax/OMX_Video.h:
4990 * omx/openmax/OMX_VideoExt.h:
4991 openmax: Add OpenMAX IL 1.1.2 headers