3 2017-05-04 Sebastian Dröge <slomo@coaxion.net>
8 === release 1.11.91 ===
10 2017-04-27 17:53:50 +0300 Sebastian Dröge <sebastian@centricular.com>
20 2017-04-17 17:02:48 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
22 * omx/gstomxvideoenc.c:
23 videoenc: use GST_ROUND_UP_N() macro
24 Makes the code much easier to read and understand.
25 https://bugzilla.gnome.org/show_bug.cgi?id=781409
27 2017-04-24 20:30:21 +0100 Tim-Philipp Müller <tim@centricular.com>
30 Automatic update of common submodule
31 From 60aeef6 to 48a5d85
33 2017-04-10 23:51:00 +0100 Tim-Philipp Müller <tim@centricular.com>
37 Automatic update of common submodule
38 From 39ac2f5 to 60aeef6
40 === release 1.11.90 ===
42 2017-04-07 16:36:45 +0300 Sebastian Dröge <sebastian@centricular.com>
52 2017-04-07 14:27:23 +0300 Sebastian Dröge <sebastian@centricular.com>
54 * omx/gstomxvideoenc.c:
55 omxvideoenc: Fix compiler warning
56 gstomxvideoenc.c: In function ‘gst_omx_video_enc_fill_buffer’:
57 CC libgstomx_la-gstomxaacdec.lo
58 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=]
59 GST_LOG_OBJECT (self, "Matched strides - direct copy %u bytes",
61 outbuf->omx_buf->nFilledLen);
64 2017-03-22 17:18:09 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
67 meson: fix logic to set HAVE_THEORA
68 https://bugzilla.gnome.org/show_bug.cgi?id=780392
70 2017-03-14 03:02:06 +1100 Jan Schmidt <thaytan@noraisin.net>
72 * omx/gstomxvideoenc.c:
73 omxvideoenc: Add an unimplemented mapping for RGBA formats
74 Add some pixel formats mappings for 2 RGBA formats. Not yet
75 implemented in the buffer input code though, so no effect for now.
77 2017-03-14 03:00:49 +1100 Jan Schmidt <thaytan@noraisin.net>
81 * omx/gstomxvideoenc.c:
82 omxvideoenc: Add GST_OMX_HACK_HEIGHT_MULTIPLE_16 for Rpi
83 The Raspberry Pi encoder produces corrupt output unless
84 the input height is a multiple of 16. Add a hack that adds
85 zero padding when needed.
87 2017-03-14 02:42:15 +1100 Jan Schmidt <thaytan@noraisin.net>
89 * omx/gstomxvideoenc.c:
90 omxvideoenc: Add a mapping for OMX_COLOR_FormatYUV420PackedSemiPlanar
93 2017-03-14 02:40:24 +1100 Jan Schmidt <thaytan@noraisin.net>
95 * omx/gstomxvideoenc.c:
96 omxvideoenc: Filter out unimplemented formats
97 Don't announce pixel formats in the caps if they've not been
100 2017-03-14 02:34:36 +1100 Jan Schmidt <thaytan@noraisin.net>
102 * omx/gstomxvideodec.c:
103 omxvideodec: demote ERROR message
104 There's no need to warn about failing to negotiate EGL output
105 - that can be perfectly normal.
107 2017-02-24 16:00:29 +0200 Sebastian Dröge <sebastian@centricular.com>
110 meson: Update version
112 2017-02-24 15:38:17 +0200 Sebastian Dröge <sebastian@centricular.com>
117 === release 1.11.2 ===
119 2017-02-24 15:10:17 +0200 Sebastian Dröge <sebastian@centricular.com>
128 2017-02-15 18:22:53 +0000 Tim-Philipp Müller <tim@centricular.com>
131 meson: dist meson build files
132 Ship meson build files in tarballs, so people who use tarballs
133 in their builds can start playing with meson already.
135 2017-01-13 16:23:12 +0000 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
137 * omx/gstomxaacenc.c:
138 omxaacenc: let encoder know about incoming rate/channels
139 https://bugzilla.gnome.org/show_bug.cgi?id=777223
141 2017-01-18 02:43:44 +1100 Matthew Waters <matthew@centricular.com>
143 * config/bellagio/meson.build:
144 * config/meson.build:
145 * config/rpi/meson.build:
146 * examples/egl/meson.build:
147 * examples/meson.build:
148 * hooks/pre-commit.hook:
152 build: add meson build definition
153 Currently only been tested on the RPi within gst-build.
155 2017-01-18 15:21:35 +1100 Matthew Waters <matthew@centricular.com>
157 * examples/egl/testegl.c:
158 examples/testegl: update for libgstgl changes
160 2017-01-12 16:33:09 +0200 Sebastian Dröge <sebastian@centricular.com>
165 === release 1.11.1 ===
167 2017-01-12 16:26:55 +0200 Sebastian Dröge <sebastian@centricular.com>
176 2017-01-10 15:29:08 +0000 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
178 * omx/gstomxaudioenc.c:
179 omxaudioenc: set base class format instead of just source pad caps
181 2016-12-18 19:46:55 +0000 Graham Leggett <minfrin@sharp.fm>
183 * omx/gstomxaudiodec.c:
184 * omx/gstomxvideodec.c:
185 omx*dec: Flush before we stop the srcpad loop
186 Flushing could otherwise hang if output port queue of pending buffers was empty
187 https://bugzilla.gnome.org/show_bug.cgi?id=774654
189 2016-12-14 13:29:08 -0800 Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
192 Fix broken build due to syntax error
193 Problem was introduced by 8716c23e2b0553db2982eb84c437f493c974385e
195 2016-12-12 11:12:48 +0000 Graham Leggett <minfrin@sharp.fm>
198 Prevent early EOS by resetting eos flag once GST_OMX_ACQUIRE_BUFFER_EOS is triggered
199 https://bugzilla.gnome.org/show_bug.cgi?id=774600
201 2016-12-12 11:09:15 +0000 Graham Leggett <minfrin@sharp.fm>
204 Add clear debug logging on all the paths out of gst_omx_port_acquire_buffer()
205 https://bugzilla.gnome.org/show_bug.cgi?id=774600
207 2016-12-01 18:23:50 +0100 George Kiagiadakis <george.kiagiadakis@collabora.com>
209 * config/rpi/gstomx.conf:
212 Add a signals-premature-eos hack for egl_render
213 egl_render seems to have a bug and signals EOS before it has finished
214 pushing out all data; this hack simply makes acquire_buffer() wait
215 a bit more before signalling EOS, in case egl_render decides to spit
217 https://bugzilla.gnome.org/show_bug.cgi?id=741856
219 2016-12-11 19:52:37 +0000 Graham Leggett <minfrin@sharp.fm>
222 Add support for OMX_COLOR_FormatYUV420PackedSemiPlanar and OMX_COLOR_Format24bitBGR888
223 https://bugzilla.gnome.org/show_bug.cgi?id=775959
225 2016-12-03 08:20:46 +0100 Edward Hervey <bilboed@bilboed.com>
228 Automatic update of common submodule
229 From ac2f647 to 39ac2f5
231 2016-11-26 11:27:58 +0000 Tim-Philipp Müller <tim@centricular.com>
234 common: use https protocol for common submodule
235 https://bugzilla.gnome.org/show_bug.cgi?id=775110
237 2016-11-25 23:56:06 +0200 Sebastian Dröge <sebastian@centricular.com>
240 omx: Fix compiler warning with latest clang
241 gstomx.c:1376:42: error: implicit conversion from enumeration type 'GstOMXAcquireBufferReturn' to different enumeration type 'OMX_ERRORTYPE'
242 (aka 'enum OMX_ERRORTYPE') [-Werror,-Wenum-conversion]
243 g_return_val_if_fail (!port->tunneled, GST_OMX_ACQUIRE_BUFFER_ERROR);
244 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
245 https://bugzilla.gnome.org/show_bug.cgi?id=775112
247 2016-11-17 19:56:35 +1100 Matthew Waters <matthew@centricular.com>
249 * omx/gstomxvideodec.c:
250 videodecoder: remove use of EGLImage orientation
251 New code should use GstVideoTransformationMeta
252 (The defaults do the right thing here though).
254 === release 1.11.0 ===
256 2016-11-01 18:53:25 +0200 Sebastian Dröge <sebastian@centricular.com>
261 === release 1.10.0 ===
263 2016-11-01 18:20:48 +0200 Sebastian Dröge <sebastian@centricular.com>
272 === release 1.9.90 ===
274 2016-09-30 13:04:51 +0300 Sebastian Dröge <sebastian@centricular.com>
284 2016-09-14 11:33:13 +0200 Sebastian Dröge <sebastian@centricular.com>
287 configure: Depend on gstreamer 1.9.2.1
289 2016-09-12 14:09:46 +0200 Sebastian Dröge <sebastian@centricular.com>
293 omx: Also search for gstomx.conf in the autoconf --sysconfdir
294 https://bugzilla.gnome.org/show_bug.cgi?id=770743
296 2016-09-10 20:52:10 +1000 Jan Schmidt <jan@centricular.com>
300 Automatic update of common submodule
301 From b18d820 to f980fd9
303 2016-09-10 09:58:16 +1000 Jan Schmidt <jan@centricular.com>
307 Automatic update of common submodule
308 From ac2f647 to b18d820
310 2016-09-01 12:36:09 +0300 Sebastian Dröge <sebastian@centricular.com>
315 === release 1.9.2 ===
317 2016-09-01 12:35:58 +0300 Sebastian Dröge <sebastian@centricular.com>
327 2016-07-11 21:15:48 +0200 Stefan Sauer <ensonic@users.sf.net>
330 Automatic update of common submodule
331 From ac2f647 to f49c55e
333 2016-07-06 13:51:24 +0300 Sebastian Dröge <sebastian@centricular.com>
338 === release 1.9.1 ===
340 2016-07-06 13:48:45 +0300 Sebastian Dröge <sebastian@centricular.com>
350 2016-06-29 16:37:43 +0900 Kazunori Kobayashi <kkobayas@igel.co.jp>
352 * omx/gstomxvideodec.c:
353 omxvideodec: Use GST_VIDEO_FRAME_PLANE_STRIDE() to get output buffer's stride
354 GST_VIDEO_FRAME_PLANE_STRIDE() should be used to get the actual buffer stride,
355 as reported in the buffers's GstVideoMeta, when copying data to that buffer.
356 https://bugzilla.gnome.org/show_bug.cgi?id=768173
358 2016-06-21 11:48:40 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
361 Automatic update of common submodule
362 From ac2f647 to f363b32
364 2016-06-21 11:43:13 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
366 * omx/gstomxaudioenc.c:
367 omxaudioenc: implement GstPreset interface
368 To allow user to use GstPreset to quickly save and load a set of
370 https://bugzilla.gnome.org/show_bug.cgi?id=767907
372 2016-06-21 11:41:15 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
374 * omx/gstomxvideoenc.c:
375 omxvideoenc: implement GstPreset interface
376 To allow user to use GstPreset to quickly save and load a set of
378 https://bugzilla.gnome.org/show_bug.cgi?id=767907
380 2016-06-17 12:06:48 +0300 Sebastian Dröge <sebastian@centricular.com>
384 * omx/gstomxaudiodec.c:
385 * omx/gstomxaudioenc.c:
387 * omx/gstomxvideodec.c:
388 * omx/gstomxvideoenc.c:
389 omx: #define OMX_SKIP64BIT on the RPi as required by their API
390 Also add generic support for OMX_SKIP64BIT to gst-omx, in case other
391 implementations also #define that for whatever reason.
392 https://bugzilla.gnome.org/show_bug.cgi?id=766475
394 2016-06-17 10:59:45 +0300 Sebastian Dröge <sebastian@centricular.com>
396 * omx/gstomxvideodec.c:
397 omxvideodec: Implement ::drain() virtual method
398 https://bugzilla.gnome.org/show_bug.cgi?id=767641
400 2016-06-04 19:31:45 +0100 Tim-Philipp Müller <tim@centricular.com>
403 configure: remove AG_GST_PARSE_SUBSYSTEM_DISABLES
404 This would check which subsystems are disabled in core by grepping
405 gstconfig.h. Only problem is: gstconfig.h has moved into libdir now
406 so we've been checking a non-existent file for a while now. The
407 macro would just sets GST_DISABLE_* for use in configure.ac and
408 Makefile.am, but we don't use that anywhere so just get rid of it
409 (the one place where we use GST_DISABLE_GST_DEBUG is in a .c file
410 which gets the define from the gstconfig.h include).
411 https://bugzilla.gnome.org/show_bug.cgi?id=750056
413 2016-01-20 03:10:38 +0900 Gwang Yoon Hwang <yoon@igalia.com>
415 * examples/egl/testegl.c:
416 * omx/gstomxvideodec.c:
417 omxvideodec : Use gstglmemoryegl for the RPi
418 Modified to use gstglmemoryegl to avoid texture creation/copy operations
420 [Matthew Waters]: gst-indent the sources and port testegl to GstGLMemoryEGL
421 https://bugzilla.gnome.org/show_bug.cgi?id=760918
423 2016-04-14 10:04:32 +0100 Julien Isorce <j.isorce@samsung.com>
426 Automatic update of common submodule
427 From 6f2d209 to ac2f647
429 2016-02-26 12:42:41 +0200 Sebastian Dröge <sebastian@centricular.com>
432 Automatic update of common submodule
433 From b64f03f to 6f2d209
435 2016-02-17 20:51:03 +1100 Matthew Waters <matthew@centricular.com>
437 * examples/egl/testegl.c:
438 examples: update egl example for gstgl API changes
439 https://bugzilla.gnome.org/show_bug.cgi?id=762053
440 https://bugzilla.gnome.org/show_bug.cgi?id=753917
442 2016-02-05 18:11:06 -0300 Thiago Santos <thiagoss@osg.samsung.com>
446 Automatic update of common submodule
447 From 86e4663 to b64f03f
449 2015-12-21 00:43:49 +0100 Koop Mast <kwm@rainbow-runner.nl>
452 configure: Make -Bsymbolic check work with clang.
453 Update the -Bsymbolic check with the version glib has. This version
455 https://bugzilla.gnome.org/show_bug.cgi?id=759713
457 2015-12-07 09:11:32 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
461 Automatic update of common submodule
462 From b319909 to 86e4663
464 2015-11-18 13:00:28 +0000 Enrique Ocaña González <eocanha@igalia.com>
467 Remember the last_error after a failed set state call to avoid blocking the next get state call
468 gst_omx_video_dec_flush() blocks forever in
469 http://cgit.freedesktop.org/gstreamer/gst-omx/tree/omx/gstomxvideodec.c?id=9adf0ff82903cad5331e40975ae91ed5d11bc102#n2110
470 when the previous call to gst_omx_component_set_state() fails in
471 http://cgit.freedesktop.org/gstreamer/gst-omx/tree/omx/gstomx.c?id=9adf0ff82903cad5331e40975ae91ed5d11bc102#n827.
472 To mitigate that, I set "last_error" to true, so the code in
473 http://cgit.freedesktop.org/gstreamer/gst-omx/tree/omx/gstomx.c?id=9adf0ff82903cad5331e40975ae91ed5d11bc102#n862
474 exits early and doesn't block.
475 https://bugzilla.gnome.org/show_bug.cgi?id=758274
477 2015-11-18 12:59:59 +0000 Enrique Ocaña González <eocanha@igalia.com>
479 * omx/gstomxaudiodec.c:
480 * omx/gstomxaudioenc.c:
481 * omx/gstomxvideodec.c:
482 * omx/gstomxvideoenc.c:
483 Properly handle drain requests while flushing
484 Without this commit the decoder streaming thread stops without ever attending
485 the drain request, leaving the decoder input thread waiting forever.
486 https://bugzilla.gnome.org/show_bug.cgi?id=758274
488 2015-11-10 10:42:35 +0100 Nicolas Huet <nicolas.huet@parrot.com>
491 omx: fix hacks leak on class init
493 2015-10-21 14:37:13 +0100 Tim-Philipp Müller <tim@centricular.com>
496 Automatic update of common submodule
497 From b99800a to b319909
499 2015-10-21 14:28:41 +0300 Sebastian Dröge <sebastian@centricular.com>
502 Automatic update of common submodule
503 From 9aed1d7 to b99800a
505 2015-09-01 16:08:11 -0300 Thiago Santos <thiagoss@osg.samsung.com>
507 * omx/gstomxaacdec.c:
508 omxaacdec: Do not accept unknown layouts
509 It was defaulting to RAW when an unknown layout was received but
510 the caps template would actually forbid that on the caps query
511 or accept-caps anyway.
513 2015-09-01 08:59:54 -0300 Thiago Santos <thiagoss@osg.samsung.com>
515 * omx/gstomxaudiodec.c:
516 omxaudiodec: use default pad accept-caps handling
517 Instead of the audiodecoder one. The OMX audioo decoders have their
518 valid input in the template pad, so just check against that to
519 avoid doing a query downstream.
521 2015-08-28 12:57:33 -0300 Thiago Santos <thiagoss@osg.samsung.com>
523 * omx/gstomxvideodec.c:
524 omxvideodec: use default pad accept-caps handling
525 Instead of the videodecoder one. The OMX video decoders have their
526 valid input in the template pad, so just check against that to
527 avoid doing a query downstream.
529 2015-08-22 15:54:55 +0000 Graham Leggett <minfrin@sharp.fm>
531 * omx/gstomxvideoenc.c:
532 omxvideoenc: Add keyframe support for the Rpi, using OMX_IndexConfigBrcmVideoRequestIFrame
533 https://bugzilla.gnome.org/show_bug.cgi?id=753085
535 2015-08-20 17:20:50 +0900 Vineeth TM <vineeth.tm@samsung.com>
537 * examples/egl/testegl.c:
538 gst-omx: Fix memory leaks when context parse fails
539 When g_option_context_parse fails, context and error variables are not getting free'd
540 which results in memory leaks. Free'ing the same.
541 And replacing g_error_free with g_clear_error, which checks if the error being passed
542 is not NULL and sets the variable to NULL on free'ing.
543 https://bugzilla.gnome.org/show_bug.cgi?id=753865
545 2015-08-16 14:53:42 +0200 Philippe Normand <philn@igalia.com>
547 * omx/gstomxh264dec.c:
548 omxh264dec: implement is_format_change
549 The omxvideodecoder class only checks some of the caps parameters but if
550 other fields change such as h264 profile and/or level it wouldn't trigger a
552 https://bugzilla.gnome.org/show_bug.cgi?id=752376
554 2015-07-03 00:26:48 +0200 Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>
556 * omx/gstomxvideodec.c:
557 omxvideodec: unref allocator after getting it from allocation query
558 Otherwise a reference will be leaked for each allocator. It only happens
559 when target platform is Raspberry Pi and when we have GL support.
560 https://bugzilla.gnome.org/show_bug.cgi?id=751867
562 2015-07-03 21:59:54 +0200 Stefan Sauer <ensonic@users.sf.net>
565 Automatic update of common submodule
566 From f74b2df to 9aed1d7
568 2015-06-16 17:50:14 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
571 Automatic update of common submodule
572 From 6015d26 to f74b2df
574 2015-06-09 11:30:49 +0200 Edward Hervey <bilboed@bilboed.com>
577 Automatic update of common submodule
578 From d9a3353 to 6015d26
580 2015-06-08 23:08:28 +0200 Stefan Sauer <ensonic@users.sf.net>
583 Automatic update of common submodule
584 From d37af32 to d9a3353
586 2015-06-07 23:07:22 +0200 Stefan Sauer <ensonic@users.sf.net>
589 Automatic update of common submodule
590 From 21ba2e5 to d37af32
592 2015-06-07 17:32:25 +0200 Stefan Sauer <ensonic@users.sf.net>
595 Automatic update of common submodule
596 From c408583 to 21ba2e5
598 2015-06-07 17:16:43 +0200 Stefan Sauer <ensonic@users.sf.net>
602 Automatic update of common submodule
603 From c8fb372 to c408583
605 2015-05-19 18:21:40 +0300 Sebastian Dröge <sebastian@centricular.com>
607 * omx/gstomxaudiodec.c:
608 * omx/gstomxaudiodec.h:
609 omxaudiodec: Add an output adapter for chunking the output into codec frames
610 Otherwise the base class will be confused.
611 See https://bugzilla.gnome.org/show_bug.cgi?id=685730
613 2015-04-26 18:24:13 +0100 Tim-Philipp Müller <tim@centricular.com>
617 Remove obsolete Android build cruft
618 This is not needed any longer.
620 2015-04-22 10:40:22 +0200 Sebastian Dröge <sebastian@centricular.com>
624 autotools automatically generate this, and when using different versions
625 for autogen.sh there will always be changes to a file tracked by git.
627 2015-04-08 15:57:59 +0100 Tim-Philipp Müller <tim@centricular.com>
633 Add m4 directory so aclocal doesn't complain in autogen.sh
634 Might come in handy, and these warnings seem to be
635 fatal in some environments.
636 You may need to git clean -x -d -f your tree before
639 2015-04-07 22:25:57 +0100 Tim-Philipp Müller <tim@centricular.com>
643 Update autogen.sh to latest version
645 2015-04-03 18:58:17 +0100 Tim-Philipp Müller <tim@centricular.com>
648 Automatic update of common submodule
649 From bc76a8b to c8fb372
651 2015-03-06 12:12:49 +0000 Luis de Bethencourt <luis.bg@samsung.com>
653 * omx/gstomxaacdec.c:
654 omxaudiodec: add comment explaining duplicate code path
656 2015-03-06 12:09:06 +0000 Luis de Bethencourt <luis.bg@samsung.com>
658 * omx/gstomxaacdec.c:
659 Revert "omxaudiodec: remove duplicate code path"
660 This reverts commit a8d26ff27a8b43f589424a59294f9057641b2a46.
662 2015-03-06 12:03:56 +0000 Luis de Bethencourt <luis.bg@samsung.com>
665 omx: handle both errors in the two steps of update_port_definition
666 Also consider potential errors in the _get_parameter() in the return of the
667 update_port_definition function.
670 2015-03-06 10:57:53 +0000 Luis de Bethencourt <luis.bg@samsung.com>
672 * omx/gstomxaudioenc.c:
673 omxaudioenc: impossible if statement
674 ret is set to GST_STATE_CHANGE_SUCCESS and never touched, so it is impossible
675 for it to be anything else at the if check. Remove the if check.
678 2015-03-06 10:54:43 +0000 Luis de Bethencourt <luis.bg@samsung.com>
680 * omx/gstomxaudiodec.c:
681 omxaudiodec: impossible if statement
682 ret is set to GST_STATE_CHANGE_SUCCESS and never touched, so it is impossible
683 for it to be anything else at the if check. Remove it.
686 2015-03-06 10:50:30 +0000 Luis de Bethencourt <luis.bg@samsung.com>
688 * omx/gstomxaacdec.c:
689 omxaudiodec: remove duplicate code path
691 2014-12-19 11:19:55 +0200 George Kiagiadakis <george.kiagiadakis@collabora.com>
694 omx: call handle_messages() only once in acquire_buffer() to avoid potential deadlock
695 There is one rare case where calling handle_messages() more than once can cause a deadlock
696 in the video decoder element:
697 - sink pad thread starts the src pad task (gst_omx_video_dec_loop())
698 - _video_dec_loop() calls gst_omx_port_acquire_buffer() on dec_out_port
699 - blocks in gst_omx_component_wait_message() releasing comp->lock and comp->messages_lock
700 (initially, there are no buffers configured on that port, so it waits for OMX_EventPortSettingsChanged)
701 - the sink pad thread pushes a buffer to the decoder with gst_omx_port_release_buffer()
702 - _release_buffer() grabs comp->lock and sends the buffer to OMX, which consumes it immediately
703 - EmptyBufferDone gets called at this point, which signals _wait_message() to unblock
704 - the message from EmptyBufferDone is processed in gst_omx_component_handle_messages()
705 called from gst_omx_port_release_buffer()
706 - gst_omx_port_release_buffer releases comp->lock
707 - the src pad thread now gets to run, grabbing comp->lock while it exits from _wait_message()
708 - _acquire_buffer() calls the _handle_messages() on the next line after _wait_message(),
709 which does nothing (no pending messages)
710 - then it goes to "retry:" and calls _handle_messages() again, which also does nothing
711 (still no pending messages)
712 - scheduler switches to a videocore thread that calls EventHandler, informing us about the
713 OMX_EventPortSettingsChanged event that just arrived
714 - EventHandler graps comp->messages_lock, but not comp->lock, so it can run in parallel at
715 this point just fine.
716 - scheduler switches back to the src pad thread (which is in the middle of _acquire_buffer())
717 - the next _handle_messages() which is right before if (g_queue_is_empty (&port->pending_buffers))
718 processes the OMX_EventPortSettingsChanged
719 - the buffer queue is still empty, so that thread blocks again in _wait_message()
720 - the sink pad thread tries to acquire the next input port buffer
721 - _acquire_buffer() also blocks this thread in:
722 if (comp->pending_reconfigure_outports) { ... _wait_message() ... }
723 - DEADLOCK. gstreamer is waiting for omx to do something, omx waits for gstreamer to do something.
724 By removing those extra _handle_messages() calls, we can ensure that all the checks of
725 _acquire_buffer() will re-run. In the above case, after the scheduler switches back to
726 the middle of _acquire_buffer(), the code will enter _wait_message(), which will see that
727 there are pending messages and will return immediately, going back to "retry:" and
728 re-doing all the checks properly.
729 https://bugzilla.gnome.org/show_bug.cgi?id=741854
731 2015-02-26 09:27:44 +0900 Wonchul Lee <chul0812@gmail.com>
734 omx: cleanup code a bit to remove else statement
735 https://bugzilla.gnome.org/show_bug.cgi?id=745191
737 2015-01-12 16:13:35 +0100 Stefan Sauer <ensonic@users.sf.net>
740 Automatic update of common submodule
741 From f2c6b95 to bc76a8b
743 2014-12-18 10:56:15 +0100 Sebastian Dröge <sebastian@centricular.com>
746 Automatic update of common submodule
747 From ef1ffdc to f2c6b95
749 2014-11-27 17:12:42 +0100 Edward Hervey <bilboed@bilboed.com>
752 Automatic update of common submodule
753 From 7bb2bce to ef1ffdc
755 2014-11-13 09:55:02 +0900 Jun Ji <jun.ji@lge.com>
759 * omx/gstomxamrdec.c:
760 * omx/gstomxamrdec.h:
762 https://bugzilla.gnome.org/show_bug.cgi?id=739333
764 2014-10-27 18:00:50 +0100 Sebastian Dröge <sebastian@centricular.com>
767 Automatic update of common submodule
768 From 84d06cd to 7bb2bce
770 2014-10-21 13:03:44 +0100 Tim-Philipp Müller <tim@centricular.com>
773 Automatic update of common submodule
774 From a8c8939 to 84d06cd
776 2014-10-21 13:00:10 +0200 Stefan Sauer <ensonic@users.sf.net>
779 Automatic update of common submodule
780 From 1f5d3c3 to a8c8939
782 2014-09-30 10:47:20 +0300 Sebastian Dröge <sebastian@centricular.com>
784 * omx/gstomxaudiodec.c:
785 omxaudiodec: Clean up code a bit to get rid of useless NULL checks
787 2014-09-30 10:50:07 +0900 junji <jun.ji@lge.com>
789 * omx/gstomxaudiodec.c:
790 omxaudiodec: Unmap input buffers after usage
791 https://bugzilla.gnome.org/show_bug.cgi?id=736314
793 2014-08-31 20:30:13 +0000 Michal Lazo <michal.lazo@mdragon.org>
795 * omx/gstomxvideoenc.c:
796 omxvideoenc: Setup aspect ratio on RPi
797 Needs firmware from yesterday or newer to work with all possible
798 aspect ratios. Before that it only supported a fixed list.
799 https://bugzilla.gnome.org/show_bug.cgi?id=732533
801 2014-08-28 10:44:31 +0300 Sebastian Dröge <sebastian@centricular.com>
803 * omx/gstomxaudioenc.c:
804 omxaudioenc: Implement the hack flag GST_OMX_HACK_NO_COMPONENT_RECONFIGURE
806 2014-08-28 10:43:22 +0300 Sebastian Dröge <sebastian@centricular.com>
808 * omx/gstomxaudioenc.c:
809 omxaudioenc: Use the base class' open/close vfuncs instead of calling them ourselves
811 2014-08-26 22:13:53 -0500 Peng Liu <pengliu.mail@gmail.com>
813 * config/rpi/gstomx.conf:
814 * omx/gstomxvideoenc.c:
815 omxvideoenc: Implement the hack flag GST_OMX_HACK_NO_COMPONENT_RECONFIGURE
816 Fix a video encoder stall problem on RPi when changing the aspect ratio.
817 https://bugzilla.gnome.org/show_bug.cgi?id=732533
819 2014-08-14 17:36:11 +0300 Sebastian Dröge <sebastian@centricular.com>
821 * omx/gstomxaudiodec.c:
822 * omx/gstomxaudiodec.h:
823 * omx/gstomxaudioenc.c:
824 * omx/gstomxaudioenc.h:
825 * omx/gstomxvideodec.c:
826 * omx/gstomxvideodec.h:
827 * omx/gstomxvideoenc.c:
828 * omx/gstomxvideoenc.h:
829 omx: Let base classes handle EOS
830 https://bugzilla.gnome.org//show_bug.cgi?id=734774
832 2014-08-14 17:33:07 +0300 Sebastian Dröge <sebastian@centricular.com>
834 * omx/gstomxaudiodec.c:
835 omxaudiodec: Fix flushing logic and make it more similar to the video decoder
837 === release 1.2.0 ===
839 2014-07-23 11:28:12 +0200 Sebastian Dröge <sebastian@centricular.com>
849 2014-07-22 09:23:00 +0200 Sebastian Dröge <sebastian@centricular.com>
851 * config/bellagio/gstomx.conf:
852 * config/rpi/gstomx.conf:
853 config: Update ranks to PRIMARY+1 to have higher preference than avdec_*
854 See https://bugzilla.gnome.org/show_bug.cgi?id=732161
856 2014-07-20 17:46:30 +0200 Sebastian Dröge <sebastian@centricular.com>
858 * omx/gstomxaudiosink.c:
859 omxaudiosink: Set port to not flushing in prepare() and keep it at flushing in unprepare()
860 https://bugzilla.gnome.org/show_bug.cgi?id=733168
862 2014-07-13 22:15:18 +0200 Sebastian Dröge <sebastian@centricular.com>
864 * omx/gstomxaacdec.c:
865 * omx/gstomxaudiodec.c:
866 * omx/gstomxaudiodec.h:
867 * omx/gstomxmp3dec.c:
868 omxaudiodec: Implement setting of fallback channel positions
870 2014-07-13 18:22:39 +0200 Sebastian Dröge <sebastian@centricular.com>
874 * omx/gstomxaacdec.c:
875 * omx/gstomxaacdec.h:
876 * omx/gstomxmp3dec.c:
877 omx: Add AAC audio decoder
879 2014-07-02 09:22:28 +0200 Sebastian Dröge <sebastian@centricular.com>
881 * omx/gstomxaudiodec.c:
882 omxaudiodec: Get PCM parameters from the out port, not the in port
884 2014-05-15 13:24:39 +0200 Sebastian Dröge <sebastian@centricular.com>
886 * omx/gstomxaudiodec.c:
887 omxaudiodec: Implement hack for not disabling the output port after set_format until the output format is known
888 Needed on some OMX implementations, e.g. the one from Atmel. It does
889 not send the settings-changed event on the output port if it is
892 2014-05-10 23:12:54 +0200 Sebastian Dröge <sebastian@centricular.com>
896 * omx/gstomxaudiodec.c:
897 * omx/gstomxaudiodec.h:
898 * omx/gstomxmp3dec.c:
899 * omx/gstomxmp3dec.h:
900 omx: Add audio decoder base class and a subclass for MP3
902 2014-07-01 09:38:01 +0200 Sebastian Dröge <sebastian@centricular.com>
906 omx: Link to gmodule-2.0-no-export for being able to use the g_module_*() API
907 https://bugzilla.gnome.org/show_bug.cgi?id=732518
909 2014-06-30 15:00:54 +0200 Sebastian Dröge <sebastian@centricular.com>
911 * examples/egl/testegl.c:
912 examples: #define GST_USE_UNSTABLE_API for libgstgl
914 2014-06-29 19:10:19 +0200 Sebastian Dröge <sebastian@centricular.com>
916 * omx/gstomxh264enc.c:
917 * omx/gstomxh264enc.h:
918 omxh264enc: Properly accumulate headers and push before the next frame
919 Fixes output of encoding on RPi, where each header buffer (SPS and PPS)
920 is in a separate OMX buffer.
921 https://bugzilla.gnome.org/show_bug.cgi?id=726669
923 2014-06-29 19:04:54 +0200 Sebastian Dröge <sebastian@centricular.com>
925 * omx/gstomxvideoenc.c:
926 omxvideoenc: Implement flush() instead of the deprecated reset()
928 2014-06-25 17:14:18 +0200 Sebastian Dröge <sebastian@centricular.com>
930 * config/rpi/gstomx.conf:
931 rpi: It's 44100Hz, not 41400Hz
933 2014-06-25 11:12:51 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
936 configure.ac: require gstgl >= 1.3.3
938 2014-04-25 13:25:05 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
942 example: enable testegl
943 See https://bugzilla.gnome.org/show_bug.cgi?id=728940
945 2014-06-25 10:19:54 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
947 * examples/egl/testegl.c:
948 testegl: do matrix mutlplication in the shader
949 See https://bugzilla.gnome.org/show_bug.cgi?id=728940
951 2014-06-25 09:36:38 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
953 * examples/egl/testegl.c:
954 testegl: add a comment for the parse command
955 See https://bugzilla.gnome.org/show_bug.cgi?id=728940
957 2014-04-25 17:32:16 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
959 * examples/egl/Makefile.am:
960 * examples/egl/cube_texture_and_coords.h:
961 * examples/egl/testegl.c:
962 testegl: convert code from GLESv1 to GLESv2
963 See https://bugzilla.gnome.org/show_bug.cgi?id=728940
965 2014-04-25 13:21:59 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
967 * examples/egl/Makefile.am:
968 * examples/egl/testegl.c:
969 testegl: port to gstgl API
970 - append a glfilter just before fakesink
971 So that we get gltexture or eglimages
972 - propagate our EGLDisplay to the pipeline
973 see GST_QUERY_CONTEXT
974 - share our EGLContext with the iternal gl context
975 of the pipeline, see GST_QUERY_ALLOCATION
976 - use GstVideoGLTextureUploadMeta to upload
977 the incoming gltexture or eglimage to our gl texture
978 TODO: convert from GLESv1 to GLESv2
979 See https://bugzilla.gnome.org/show_bug.cgi?id=728940
981 2014-06-24 14:52:58 +0200 Sebastian Dröge <sebastian@centricular.com>
983 * omx/gstomxbufferpool.c:
984 * omx/gstomxbufferpool.h:
985 * omx/gstomxvideodec.c:
986 omxbufferpool: Copy buffers if the stride does not match and we can't use video meta
987 https://bugzilla.gnome.org/show_bug.cgi?id=731672
989 2014-06-24 14:52:43 +0200 Sebastian Dröge <sebastian@centricular.com>
993 * omx/gstomxvp8dec.h:
994 omx: Only include OMX_VideoExt.h conditionally
995 It does not exist on the RPi for example.
997 2014-06-24 13:59:44 +0200 Sebastian Dröge <sebastian@centricular.com>
1000 configure.ac: Require GStreamer core/base >= 1.2.2
1001 Needed at least for gst_video_decoder_release_frame().
1003 2014-06-24 13:02:13 +0200 Sebastian Dröge <sebastian@centricular.com>
1005 * omx/gstomxbufferpool.c:
1006 omxbufferpool: Fix format string compiler warning
1008 2014-06-22 21:11:45 +0000 Michal Lazo <xlazom00@gmail.com>
1010 * omx/gstomxbufferpool.c:
1011 omxbufferpool: Initialize debug category
1013 2014-06-24 12:42:22 +0200 Sebastian Dröge <sebastian@centricular.com>
1015 * omx/gstomxbufferpool.c:
1016 omxbufferpool: Properly convert OMX alignment to GStreamer alignment
1017 GStreamer uses a bitmask for the alignment while OMX uses the
1018 alignment itself. Let's convert.
1019 https://bugzilla.gnome.org/show_bug.cgi?id=710564
1021 2014-06-24 11:11:28 +0200 Sebastian Dröge <sebastian@centricular.com>
1023 * omx/gstomxh264enc.c:
1024 omxh264enc: Don't let baseclass finish frames for SPS/PPS buffers
1025 Otherwise we a) send them twice, and b) finish a frame for something
1026 that does not even include a frame.
1027 https://bugzilla.gnome.org/show_bug.cgi?id=726669
1029 2014-06-24 10:22:37 +0200 Sebastian Dröge <sebastian@centricular.com>
1031 * omx/gstomxvideo.h:
1032 omxvideo: Include the separate headers too for compatibility with 1.0.x
1034 2014-03-24 16:09:40 +0800 Zhao, Halley <halley.zhao@intel.com>
1037 * omx/gstomxvp8dec.h:
1038 omxvp8dec: use VP8 definition from OMX_VideoExt.h
1039 https://bugzilla.gnome.org/show_bug.cgi?id=726957
1041 2014-03-24 15:33:26 +0800 Zhao, Halley <halley.zhao@intel.com>
1044 configure: add --with-omx-header-path option for external omx headers
1045 https://bugzilla.gnome.org/show_bug.cgi?id=726957
1047 2014-06-18 23:04:33 +0200 Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>
1049 * omx/gstomxvideodec.c:
1050 omxvideodec: fix a query leak
1051 Also add a debug message if query fails.
1052 https://bugzilla.gnome.org/show_bug.cgi?id=731898
1054 2014-05-30 15:29:15 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
1056 * omx/gstomxvideodec.c:
1057 omxvideodec: release frames with old PTS to avoid memory issue
1058 Interlaced stream could make the decoder use two input frames to produce
1059 one output frame causing the gstvideodecoder frame list to grow.
1060 Assuming the video decoder output frame in display order rather than in
1061 decoding order, this commit add a way to release frames with PTS less
1062 than current output frame.
1063 https://bugzilla.gnome.org/show_bug.cgi?id=730995
1065 2013-06-27 21:59:29 +0900 Kazunori Kobayashi <kkobayas@igel.co.jp>
1068 omx: Fix a missing g_free() in error path
1069 This fixes a memory leak with g_strdup() when an error occurs.
1070 https://bugzilla.gnome.org/show_bug.cgi?id=731141
1072 2014-06-02 15:34:09 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
1074 * omx/gstomxvideodec.c:
1075 omxvideodec: add missing stream unlock in error path
1077 2014-05-31 15:12:05 +0200 Sebastian Dröge <sebastian@centricular.com>
1080 omx: Don't handle disabling/enabling ports exactly like flushing
1081 Otherwise we might abort a flush operation in another thread when
1082 enabling/disabling ports, leading to deadlocks sometimes.
1083 https://bugzilla.gnome.org/show_bug.cgi?id=730989
1085 2014-05-26 11:02:10 +0200 Sebastian Dröge <sebastian@centricular.com>
1087 * omx/gstomxvideodec.c:
1088 omxvideodec: Don't leak buffer pool config in error cases
1091 2014-05-21 10:53:43 +0200 Sebastian Dröge <sebastian@centricular.com>
1094 Automatic update of common submodule
1095 From 211fa5f to 1f5d3c3
1097 2014-05-19 09:10:07 +0200 Sebastian Dröge <sebastian@centricular.com>
1099 * omx/gstomxvideoenc.c:
1100 omxvideoenc: Don't forget to unref codec state
1103 2014-05-19 09:08:33 +0200 Sebastian Dröge <sebastian@centricular.com>
1105 * omx/gstomxvideodec.c:
1106 omxvideodec: Make output buffer pointer always initialized
1109 2014-05-19 09:06:42 +0200 Sebastian Dröge <sebastian@centricular.com>
1111 * omx/gstomxvideodec.c:
1112 omxvideodec: Check return value of gst_buffer_map()
1115 2014-05-19 09:04:09 +0200 Sebastian Dröge <sebastian@centricular.com>
1117 * omx/gstomxvideodec.c:
1118 omxvideodec: Check return value of gst_omx_port_set_enabled() for errors
1121 2014-05-19 09:01:46 +0200 Sebastian Dröge <sebastian@centricular.com>
1123 * omx/gstomxvideodec.c:
1124 omxvideodec: Check return values of buffer pool config parsing functions
1127 2014-05-19 08:48:50 +0200 Sebastian Dröge <sebastian@centricular.com>
1130 omx: Remove dead code, buf can never be NULL here as we just check for that the line above
1133 2014-05-19 08:47:36 +0200 Sebastian Dröge <sebastian@centricular.com>
1136 omx: Fix comparisons in gst_omx_state_to_string() case to actually make sense
1139 2014-05-19 08:45:10 +0200 Sebastian Dröge <sebastian@centricular.com>
1142 omx: Make sure to compare the error codes as unsigned integers so that comparisons >2**31 actually work
1145 2014-05-19 08:40:23 +0200 Sebastian Dröge <sebastian@centricular.com>
1148 omx: Fix comparisons in gst_omx_command_to_string() default cause to actually work
1151 2014-05-15 13:22:56 +0200 Sebastian Dröge <sebastian@centricular.com>
1153 * omx/gstomxaudioenc.c:
1154 omxaudioenc: Implement hack for not disabling the output port after set_format until the output format is known
1155 Needed on some OMX implementations, e.g. the one from Atmel. It does
1156 not send the settings-changed event on the output port if it is
1159 2014-05-15 13:21:07 +0200 Sebastian Dröge <sebastian@centricular.com>
1161 * omx/gstomxvideoenc.c:
1162 omxvideoenc: Implement hack for not disabling the output port after set_format until the output format is known
1163 Needed on some OMX implementations, e.g. the one from Atmel. It does
1164 not send the settings-changed event on the output port if it is
1167 2014-05-15 10:58:34 +0200 Sebastian Dröge <sebastian@centricular.com>
1171 * omx/gstomxvideodec.c:
1172 omx: Add a hack for not disabling the output port after set_format until the output format is known
1173 Needed on some OMX implementations, e.g. the one from Atmel. It does
1174 not send the settings-changed event on the output port if it is
1177 2014-05-12 12:33:32 +0200 Josep Torra <n770galaxy@gmail.com>
1179 * omx/gstomxaudiosink.c:
1180 omxaudiosink: implement _delay only in the RaspberryPI
1181 Make code implementation conditionally built for RaspberryPI because
1182 OMX_IndexConfigAudioRenderingLatency seems to be a Broadcom extension.
1183 On other targets the query position might not be accurate without
1184 implementing _delay appropriatelly.
1186 2014-05-12 08:56:15 +0200 Sebastian Dröge <sebastian@centricular.com>
1188 * omx/gstomxaudioenc.c:
1189 omxaudioenc: Correctly scale nTickCount by OMX_TICKS_PER_SECOND
1191 2014-05-10 22:48:23 +0200 Sebastian Dröge <sebastian@centricular.com>
1193 * omx/gstomxaudioenc.c:
1194 omxaudioenc: Drain encoder on NULL buffer and don't drain on flushing
1196 2014-05-10 22:47:56 +0200 Sebastian Dröge <sebastian@centricular.com>
1198 * omx/gstomxvideodec.c:
1199 omxvideodec: Set nTickCount based on the buffer's duration instead of something wrong
1201 2014-05-10 22:47:21 +0200 Sebastian Dröge <sebastian@centricular.com>
1203 * omx/gstomxvideoenc.c:
1204 omxvideoenc: Set nTickCount to the whole duration of the buffer instead of a wrong calculation
1206 2014-05-10 22:46:51 +0200 Sebastian Dröge <sebastian@centricular.com>
1208 * omx/gstomxaudiosink.c:
1209 omxaudiosink: Fix format string compiler warnings
1211 2014-04-04 14:11:58 +0200 Josep Torra <n770galaxy@gmail.com>
1213 * config/rpi/gstomx.conf:
1216 * omx/gstomxanalogaudiosink.c:
1217 * omx/gstomxanalogaudiosink.h:
1218 * omx/gstomxaudiosink.c:
1219 * omx/gstomxaudiosink.h:
1220 * omx/gstomxhdmiaudiosink.c:
1221 * omx/gstomxhdmiaudiosink.h:
1222 omxaudiosink: Implements OpenMAX based audio sinks
1223 Provides omxanalogaudiosink and omxhdmiaudiosink elements on
1225 - omxanalogaudiosink is capable to render raw mono or stereo audio
1226 through the jack output.
1227 - omxhdmiaudiosink is capable to render raw audio up to 8 channels
1228 and transmit ac3/dts(IEC 61937) through the HDMI output.
1229 - sinks provide a clock derived from rendered samples
1230 - sinks support the GstStreamVolume interface by implementing
1231 the volume and mute properties.
1232 https://bugzilla.gnome.org/show_bug.cgi?id=728962
1234 2014-05-03 10:17:35 +0200 Sebastian Dröge <sebastian@centricular.com>
1237 Automatic update of common submodule
1238 From bcb1518 to 211fa5f
1240 2014-04-29 15:16:16 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
1242 * omx/gstomxvideodec.c:
1243 omxvideodec: can negotiate caps with memory:EGLImage feature when using EGLImage allocator
1244 Previously when using gst EGLImage allocator the caps was
1245 video/x-raw, format=RGBA instead of
1246 video/x-raw(memory:EGLImage), format=RGBA
1247 Kepp previous behavior in case negotiation fails with caps feature.
1248 It means it will still have a chance to use EGLImage even if the
1249 feature is not in the caps.
1250 https://bugzilla.gnome.org/show_bug.cgi?id=729196
1252 2014-04-23 09:57:48 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
1254 * omx/gstomxvp8dec.h:
1255 omxvp8dec: fix typo in GST_TYPE_OMX_VP8_DEC define
1256 https://bugzilla.gnome.org/show_bug.cgi?id=728774
1258 2014-04-16 11:00:55 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
1260 * omx/gstomxvideodec.c:
1261 omxvideodec: don't unref caps before logging field from it
1262 https://bugzilla.gnome.org/show_bug.cgi?id=728322
1264 2014-04-15 17:30:13 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
1268 example: disable testegl since libgstegl has been removed
1269 As decided in bug #703343
1270 Not compatible with the new libgstgl API.
1271 A portage has been started, attachment 272800.
1272 https://bugzilla.gnome.org/show_bug.cgi?id=703343
1274 2014-04-15 17:11:08 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
1276 * omx/gstomxvideodec.c:
1277 omxvideodec: use new libgstgl API since libgstegl has been removed
1278 There is no point to retrieve a ref/unref type
1279 instead of an EGLDisplay directly. It's like for EGLImage.
1280 https://bugzilla.gnome.org/show_bug.cgi?id=703343
1282 2014-04-15 17:06:38 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
1285 * examples/Makefile.am:
1287 * omx/gstomxvideodec.c:
1288 configure.ac: check for libgstgl since libgstegl has been removed
1289 https://bugzilla.gnome.org/show_bug.cgi?id=703343
1291 2014-04-09 18:52:16 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
1293 * omx/gstomxbufferpool.c:
1294 * omx/gstomxvideodec.c:
1295 omxvideodec: add support of more color format
1296 Add support for ABGR, ARGB, RGB16, BGR16, YUY2, UYVY, YVYU, GRAY8 and
1299 2014-04-09 18:51:57 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
1301 * omx/gstomxvideodec.c:
1302 omxvideodec: simplify color format conversion in fill_buffer function
1304 2014-04-09 18:51:41 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
1306 * omx/gstomxbufferpool.c:
1307 omxbufferpool: make video stride and offset calculation easier
1308 It will be easier to support more color format.
1310 2014-04-09 18:51:12 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
1312 * omx/gstomxvideo.c:
1313 * omx/gstomxvideo.h:
1314 * omx/gstomxvideodec.c:
1315 omx: add an helper to convert OMX color format to GStreamer color format
1317 2014-03-10 17:43:50 +0100 Josep Torra <n770galaxy@gmail.com>
1319 * examples/egl/testegl.c:
1320 * omx/gstomxvideodec.c:
1321 omxvideodec: Implement pipeline draining to support adaptive scenarios
1322 When draining due a format change also drain
1323 the pipeline to reclaim back all buffers.
1324 https://bugzilla.gnome.org/show_bug.cgi?id=726107
1326 2014-03-27 13:57:32 +0100 Josep Torra <n770galaxy@gmail.com>
1328 * examples/egl/testegl.c:
1329 examples: fix several memory leaks in the testegl example
1330 Ensure to call to image_data_free in order to release GPU resources.
1331 Also ensure to destroy EGLImage and GLTexture from proper
1333 https://bugzilla.gnome.org/show_bug.cgi?id=726107
1335 2014-03-25 17:16:31 +0000 Julien Isorce <julien.isorce@collabora.co.uk>
1337 * examples/egl/testegl.c:
1338 examples: keep a ref on the buffer instead of the memory
1340 https://bugzilla.gnome.org/show_bug.cgi?id=726107
1342 2014-03-07 20:08:05 +0100 Josep Torra <n770galaxy@gmail.com>
1344 * omx/gstomxvideodec.c:
1345 omxvideodec: fixes race condition during seeks
1346 Acording 6.1.3 Seek Event Sequence in the OpenMAX IL 1.1.2 spec
1347 document in order to flush the component it needs to be in
1349 https://bugzilla.gnome.org/show_bug.cgi?id=726038
1351 2014-01-29 18:31:26 +0000 Julien Isorce <julien.isorce@collabora.co.uk>
1353 * omx/gstomxvideodec.c:
1354 omxvideodec: use flush because reset is deprecated
1355 https://bugzilla.gnome.org/show_bug.cgi?id=726038
1357 2014-01-27 17:03:50 +0000 Julien Isorce <julien.isorce@collabora.co.uk>
1359 * omx/gstomxvideodec.c:
1360 omxvideodec: populate the most downstream output port on reset
1361 Make seeking work when using egl_render component
1362 https://bugzilla.gnome.org/show_bug.cgi?id=726038
1364 2014-03-24 17:49:59 +0100 Josep Torra <n770galaxy@gmail.com>
1366 * omx/gstomxbufferpool.c:
1367 omxbufferpool: return buffers to the pool instead of freeing them
1368 We have to return the buffers back to the pool in when stopping to
1369 not mess with the GstBufferPool accounting.
1370 The OMX buffers will be freed when those won't be in charge of the
1371 pool in the chained up call to 'stop'.
1372 Fixes segfaults on finalize and pool not being properly deactivated.
1373 https://bugzilla.gnome.org/show_bug.cgi?id=726337
1375 2014-03-19 12:12:49 +0100 Christian König <christian.koenig@amd.com>
1377 * omx/gstomxvideodec.c:
1378 omxvideodec: add missing unlock in the error path
1379 Signed-off-by: Christian König <christian.koenig@amd.com>
1380 https://bugzilla.gnome.org/show_bug.cgi?id=726958
1382 2014-03-18 23:36:59 +0100 Michal Lazo <xlazom00@gmail.com>
1384 * omx/gstomxh264enc.c:
1385 * omx/gstomxh264enc.h:
1388 2014-03-17 09:57:11 +0000 Julien Isorce <julien.isorce@collabora.co.uk>
1390 * omx/gstomxbufferpool.c:
1391 omxbufferpool: fix memory leak if used on output port
1392 When using GstOMXBufferPool on an output port, it internally uses
1393 a GPtrArray to manage the GstBuffers instead of the default queue
1394 from the GstBufferPool base class.
1395 In this case GstBufferPool::default_free_buffer is not called when
1396 the pool is stopped. Because the queue is empty. So explicitely
1397 call gst_omx_buffer_pool_free_buffer on each buffer contained in
1399 https://bugzilla.gnome.org/show_bug.cgi?id=726337
1401 2014-03-16 17:32:05 +0100 Sebastian Dröge <sebastian@centricular.com>
1403 * omx/gstomxh264enc.c:
1404 omxh264enc: Fix compiler warnings
1406 2014-03-16 17:19:08 +0100 Michal Lazo <xlazom00@gmail.com>
1408 * omx/gstomxh264enc.c:
1409 * omx/gstomxh264enc.h:
1410 omxh264enc: IDR interval, SPS and PPS headers for rpi
1411 https://bugzilla.gnome.org/show_bug.cgi?id=720031
1413 2014-03-13 14:26:58 +0100 Christian König <christian.koenig@amd.com>
1417 * omx/gstomxvideo.c:
1418 omxvideo: fix debug category initialisation
1419 https://bugzilla.gnome.org/show_bug.cgi?id=726024
1421 2014-03-13 19:04:47 +0100 Christian König <christian.koenig@amd.com>
1423 * omx/gstomxbufferpool.h:
1424 omxbufferpool: add proper type definitions
1425 https://bugzilla.gnome.org/show_bug.cgi?id=726325
1427 2014-03-02 10:30:04 +0100 Christian König <christian.koenig@amd.com>
1430 omx: consolidate message waiting code
1431 Add a wait_message helper function and remove all those duplicated code.
1432 https://bugzilla.gnome.org/show_bug.cgi?id=725493
1434 2014-03-12 12:48:12 +0100 Sebastian Dröge <sebastian@centricular.com>
1436 * omx/gstomxvideo.c:
1437 omx: Copy old copyright notice into the new file
1439 2014-03-12 12:47:34 +0100 Sebastian Dröge <sebastian@centricular.com>
1441 * omx/gstomxvideo.c:
1442 * omx/gstomxvideo.h:
1443 * omx/gstomxvideodec.c:
1444 * omx/gstomxvideoenc.c:
1445 omx: Rename function from _4_ to _for_ for clarity
1447 2014-03-03 16:15:24 +0100 Christian König <christian.koenig@amd.com>
1450 * omx/gstomxvideo.c:
1451 * omx/gstomxvideo.h:
1452 * omx/gstomxvideodec.c:
1453 * omx/gstomxvideoenc.c:
1454 omxvideo: start sharing more code between video decoder and encoder
1455 Identical functionality spread of two different components.
1456 We can't use a common base class because of different inheritance,
1457 but let's try to share the code anyway.
1458 https://bugzilla.gnome.org/show_bug.cgi?id=726024
1460 2014-03-12 12:43:49 +0100 Sebastian Dröge <sebastian@centricular.com>
1462 * examples/egl/Makefile.am:
1463 examples: Only build RPi EGL example if RPi was chosen as target
1465 2014-03-12 12:42:23 +0100 Sebastian Dröge <sebastian@centricular.com>
1467 * omx/gstomxbufferpool.h:
1468 omxbufferpool: Fix header include guard
1470 2014-03-05 11:41:02 +0100 Christian König <christian.koenig@amd.com>
1473 * omx/gstomxbufferpool.c:
1474 * omx/gstomxbufferpool.h:
1475 * omx/gstomxvideodec.c:
1476 omxvideodec: separate the buffer pool from the decoder
1477 https://bugzilla.gnome.org/show_bug.cgi?id=726025
1479 2014-03-04 17:41:20 +0100 Christian König <christian.koenig@amd.com>
1483 * omx/gstomxvideodec.c:
1484 omx: simplify tunnel functions
1485 Specifying the component is error prone and unnecessary.
1486 https://bugzilla.gnome.org/show_bug.cgi?id=726021
1488 2014-03-07 17:12:24 +0100 Christian König <christian.koenig@amd.com>
1490 * omx/gstomxvideodec.c:
1491 omxvideodec: fix memory leak in gst_omx_video_dec_allocate_output_buffers
1492 https://bugzilla.gnome.org/show_bug.cgi?id=725907
1494 2014-03-07 13:18:49 +0100 Christian König <christian.koenig@amd.com>
1496 * omx/gstomxvideodec.c:
1497 omxvideodec: fix memory leak gst_omx_video_dec_negotiate
1498 https://bugzilla.gnome.org/show_bug.cgi?id=725907
1500 2014-03-05 18:54:05 +0100 Christian König <christian.koenig@amd.com>
1502 * omx/gstomxvideoenc.c:
1503 omxvideoenc: fix a memory leak in gst_omx_video_enc_getcaps
1504 https://bugzilla.gnome.org/show_bug.cgi?id=725826
1506 2014-03-05 17:43:33 +0100 Josep Torra <n770galaxy@gmail.com>
1509 Makefile.am: build examples
1510 There's no reason to not build the examples now that are ported to 1.x.
1512 2014-03-05 17:25:09 +0100 Josep Torra <n770galaxy@gmail.com>
1514 * examples/egl/testegl.c:
1515 examples: avoid a clashing name with the recently added GstEGLImagePool
1516 Fixes build with current master.
1518 2013-09-05 03:41:10 -0600 Christian König <christian.koenig@amd.com>
1520 * omx/gstomxvideoenc.c:
1521 omxvideoenc: simplify _find_nearest_frame
1522 Just the same as we did with the decoder. Also give the
1523 function a gst_omx_video_enc prefix to distinct it from
1524 the decoder function.
1525 https://bugzilla.gnome.org/show_bug.cgi?id=724236
1527 2013-09-05 02:23:39 -0600 Christian König <christian.koenig@amd.com>
1529 * omx/gstomxvideodec.c:
1530 omxvideodec: simplify _find_nearest_frame
1531 No need to make it more complicated and error prone than
1532 necessary. Also give the function a gst_omx_video_dec prefix
1533 to distinct it from the encoder function.
1534 https://bugzilla.gnome.org/show_bug.cgi?id=724236
1536 2013-09-05 02:05:52 -0600 Christian König <christian.koenig@amd.com>
1538 * omx/gstomxvideodec.c:
1539 omxvideodec: remove dead code
1540 This code doesn't seems to be used for quite a while,
1541 remove it before it starts to rot.
1542 https://bugzilla.gnome.org/show_bug.cgi?id=724236
1544 2014-03-01 22:28:24 +0100 Christian König <christian.koenig@amd.com>
1547 omx: fix two serious message handling bugs
1548 Waiting for the next message if we already got one
1549 is nonsense and can lead to lockups.
1550 https://bugzilla.gnome.org/show_bug.cgi?id=725468
1552 2014-03-01 18:49:41 +0100 Christian König <christian.koenig@amd.com>
1554 * omx/gstomxvideoenc.c:
1555 omxvideoenc: fix startup race condition
1556 The reset function shouldn't start the src pad
1557 loop if it wasn't started before.
1558 Signed-off-by: Christian König <christian.koenig@amd.com>
1560 2014-03-01 18:48:17 +0100 Christian König <christian.koenig@amd.com>
1562 * omx/gstomxvideodec.c:
1563 omxvideodec: fix startup race condition
1564 The reset function shouldn't start the src pad
1565 loop if it wasn't started before.
1566 Signed-off-by: Christian König <christian.koenig@amd.com>
1568 2014-02-28 09:36:13 +0100 Sebastian Dröge <sebastian@centricular.com>
1571 Automatic update of common submodule
1572 From fe1672e to bcb1518
1574 2014-02-26 22:15:00 +0100 Stefan Sauer <ensonic@users.sf.net>
1577 Automatic update of common submodule
1578 From 1a07da9 to fe1672e
1580 2014-01-30 10:45:18 +0100 Edward Hervey <bilboed@bilboed.com>
1583 Automatic update of common submodule
1584 From d48bed3 to 1a07da9
1586 2014-01-25 17:44:14 +0100 Sebastian Dröge <sebastian@centricular.com>
1588 * omx/gstomxaudioenc.c:
1589 * omx/gstomxvideodec.c:
1590 * omx/gstomxvideoenc.c:
1591 omx: Don't handle FLUSHING and NOT_LINKED as errors
1592 Also don't stop the task on NOT_LINKED. We're not a demuxer.
1594 2013-12-22 22:35:31 +0000 Tim-Philipp Müller <tim@centricular.com>
1597 Automatic update of common submodule
1598 From dbedaa0 to d48bed3
1600 2013-11-05 11:22:02 +0000 Tim-Philipp Müller <tim@centricular.com>
1603 Automatic update of common submodule
1604 From 865aa20 to dbedaa0
1606 2013-09-28 13:32:37 +0200 Josep Torra <n770galaxy@gmail.com>
1608 * examples/egl/testegl.c:
1609 examples: simplify the thread synchronization code
1610 Make everithing more simple and fix the races conditions remaining in
1611 the previous approaches.
1613 2013-09-25 19:17:17 +0200 Sebastian Dröge <slomo@circular-chaos.org>
1615 * config/rpi/gstomx.conf:
1616 rpi: The WMV/VC1 decoder can only do WMV9 and VC1, no older versions
1618 2013-09-24 18:34:42 +0100 Tim-Philipp Müller <tim@centricular.net>
1621 Automatic update of common submodule
1622 From 6b03ba7 to 865aa20
1624 2013-09-24 18:48:24 +0200 Josep Torra <n770galaxy@gmail.com>
1626 * examples/egl/testegl.c:
1627 examples: fix another race condition
1628 Fix a race condition that caused randome deadlocks on EOS.
1630 2013-09-20 17:19:53 +0200 Josep Torra <n770galaxy@gmail.com>
1632 * config/rpi/gstomx.conf:
1633 rpi: fix a copy paste error in the config file
1635 2013-09-20 17:09:52 +0200 Josep Torra <n770galaxy@gmail.com>
1637 * examples/egl/testegl.c:
1638 examples: fix a race condition when seeking
1639 Fixes a race condition that caused pipeline deadlock during seeks.
1641 2013-09-20 10:38:12 +0200 Josep Torra <n770galaxy@gmail.com>
1643 * examples/egl/testegl.c:
1644 examples: display QoS statistics
1646 2013-09-20 09:34:37 +0200 Josep Torra <n770galaxy@gmail.com>
1648 * examples/egl/testegl.c:
1649 examples: use dedicated thread for rendering the scene
1650 Produces smother animation and prevents dropping frames due busy
1653 2013-09-20 08:25:21 +0200 Josep Torra <n770galaxy@gmail.com>
1655 * examples/egl/testegl.c:
1656 examples: don't force an specific audio sink
1657 Let playbin2 choose the audiosink available in the system.
1659 2013-09-20 08:19:48 +0200 Josep Torra <n770galaxy@gmail.com>
1661 * examples/egl/Makefile.am:
1662 examples: drop remnants of initial appsink attempt
1664 2013-09-20 16:18:18 +0200 Edward Hervey <edward@collabora.com>
1667 Automatic update of common submodule
1668 From b613661 to 6b03ba7
1670 2013-09-19 18:45:36 +0100 Tim-Philipp Müller <tim@centricular.net>
1673 Automatic update of common submodule
1674 From 74a6857 to b613661
1676 2013-09-19 17:38:30 +0100 Tim-Philipp Müller <tim@centricular.net>
1679 Automatic update of common submodule
1680 From 01a7a46 to 74a6857
1682 2013-08-20 16:00:07 +0100 Tim-Philipp Müller <tim@centricular.net>
1685 * omx/gstomxvideodec.c:
1686 omx: don't use the 'z' modifier to print size_t
1687 gcc will warn in some cases even if the size of the type
1688 is exactly that of size_t on the platform.
1689 https://bugzilla.gnome.org/show_bug.cgi?id=699008
1691 2013-07-01 15:48:47 +0200 Roman Arutyunyan <arutyunyan.roman@gmail.com>
1693 * omx/gstomxvideoenc.c:
1694 gstomxvideoenc: Set bitrate in setcaps
1695 Otherwise it gets lost whenever we configure new caps
1696 https://bugzilla.gnome.org/show_bug.cgi?id=698049
1698 2013-06-30 18:17:05 +0700 Ilya Smelykh <ilya@videoexpertsgroup.com>
1700 * examples/egl/testegl.c:
1701 examples: enable audio in testegl example
1703 2013-06-12 09:38:22 +0200 Sebastian Dröge <slomo@circular-chaos.org>
1706 configure: Allow build without gstreamer-egl
1708 2013-06-07 12:39:18 +0700 Ilya Smelykh <ilya@videoexpertsgroup.com>
1710 * examples/egl/Makefile.am:
1711 * examples/egl/testegl.c:
1712 examples: testegl example port to 1.x
1713 https://bugzilla.gnome.org/show_bug.cgi?id=701706
1715 2013-06-05 15:17:16 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1718 Automatic update of common submodule
1719 From 098c0d7 to 01a7a46
1721 2013-05-20 12:06:34 +0200 Josep Torra <n770galaxy@gmail.com>
1723 * omx/gstomxaudioenc.c:
1724 * omx/gstomxvideodec.c:
1725 * omx/gstomxvideoenc.c:
1726 omx: Take lock on EOS to update the flow return value
1727 Fixes "GThread-ERROR **: file gthread-posix.c: line 171
1728 (g_mutex_free_posix_impl): error 'Device or resource busy' during
1729 'pthread_mutex_destroy ((pthread_mutex_t *) mutex)'" in _finalize.
1731 2013-05-15 10:54:12 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1734 Automatic update of common submodule
1735 From 5edcd85 to 098c0d7
1737 2013-04-11 17:35:19 +0200 Josep Torra <n770galaxy@gmail.com>
1741 * examples/Makefile.am:
1742 * examples/egl/Makefile.am:
1743 * examples/egl/cube_texture_and_coords.h:
1744 * examples/egl/testegl.c:
1745 examples: add an example aplication based OpenGL ES + EGL
1746 Application that shows how to integrate playbin with an OpenGL ES
1747 scene through EGL. Renders a video on the surfaces of an animated cube.
1748 The code is not ported to 1.x so it's not built by default.
1750 2013-05-10 12:25:07 +0200 Josep Torra <n770galaxy@gmail.com>
1752 * omx/gstomxvideodec.c:
1753 omxvideodec: Redesign video size change reconfiguration code
1754 Ensure stop the decoder before clossing the tunnel.
1756 2013-05-06 16:25:27 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1759 Makefile.am: Add -I common/m4
1760 This allows autoreconf to work correctly and automatic regeneration
1761 of autotools files if something changed.
1763 2013-05-06 19:03:59 +0530 jitendra <jvarshney20@gmail.com>
1767 * omx/gstomxaudioenc.c:
1768 * omx/gstomxvideodec.c:
1769 * omx/gstomxvideoenc.c:
1770 omx: Add pads based on element type
1771 This allows to later add sources and sink that only have a srcpad
1773 https://bugzilla.gnome.org/show_bug.cgi?id=699754
1775 2013-04-27 02:50:25 +0200 Carlos Rafael Giani <dv@pseudoterminal.org>
1778 omx: fixed type error in printf call
1780 https://bugzilla.gnome.org/show_bug.cgi?id=699008
1782 2013-04-08 17:26:16 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
1786 * omx/gstomxvideodec.c:
1787 Check for gstreamer-egl
1788 And don't use if not available.
1789 https://bugzilla.gnome.org/show_bug.cgi?id=697574
1791 2013-04-23 09:53:18 +0100 Tim-Philipp Müller <tim@centricular.net>
1794 configure: error out if no OMX target has been set explicitly with --with-omx-target=x
1795 Avoids people building for e.g. the Raspberry Pi and then wondering
1796 why things don't work as expected (since structs are packed differently
1799 2013-04-22 23:55:03 +0100 Tim-Philipp Müller <tim@centricular.net>
1802 Automatic update of common submodule
1803 From 3cb3d3c to 5edcd85
1805 2013-04-18 22:07:28 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
1808 * omx/gstomxaudioenc.c:
1809 * omx/gstomxh263enc.c:
1810 * omx/gstomxh264enc.c:
1811 * omx/gstomxmpeg4videoenc.c:
1812 * omx/gstomxvideodec.c:
1813 * omx/gstomxvideoenc.c:
1814 omx: more printf format fixes
1815 Fix printf formats again, so that gst-omx compiles warning-
1816 free on the Raspberry Pi as well. Unfortunately OMX_UINT32
1817 maybe be typedefed to uint32_t or unsigned long, which
1818 doesn't work well with our debugging printf format strings,
1819 so just use %u for those and cast to guint.
1821 2013-04-18 16:40:06 +0200 Josep Torra <n770galaxy@gmail.com>
1824 omx: fixes unused variable 'comp' when GStreamer is built without debug
1826 2013-04-18 16:03:56 +0200 Josep Torra <n770galaxy@gmail.com>
1828 * omx/gstomxvideodec.c:
1829 omxvideodec: don't use 'self->dec_out_port' anymore and use just 'port'
1830 Fixes some criticals.
1832 2013-04-18 15:21:32 +0200 Josep Torra <n770galaxy@gmail.com>
1834 * omx/gstomxvideodec.c:
1835 omxvideodec: fixes 'port' may be used uninitialized in this function
1837 2013-04-18 12:03:31 +0200 Josep Torra <n770galaxy@gmail.com>
1839 * omx/gstomxvideodec.c:
1840 omxvideodec: silence warnings building for RPI related to 'vcos_*'
1842 2013-04-18 11:19:52 +0200 Josep Torra <n770galaxy@gmail.com>
1844 * omx/gstomxvideodec.c:
1845 omxvideodec: Use new type from libgstvideo
1847 2013-04-16 14:50:49 +0530 jitendra <jvarshney20@gmail.com>
1849 * omx/gstomxaudioenc.c:
1850 * omx/gstomxvideodec.c:
1851 * omx/gstomxvideoenc.c:
1852 omx: Disable output port before transition to idle state
1853 https://bugzilla.gnome.org/show_bug.cgi?id=698109
1855 2012-10-24 12:19:41 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1858 gst: Add better support for static plugins
1860 2013-04-14 17:57:34 +0100 Tim-Philipp Müller <tim@centricular.net>
1863 Automatic update of common submodule
1864 From aed87ae to 3cb3d3c
1866 2013-04-12 17:58:30 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
1869 configure: add --disable-fatal-warnings for disabling -Werror
1871 2013-04-09 21:02:09 +0200 Stefan Sauer <ensonic@users.sf.net>
1874 Automatic update of common submodule
1875 From 04c7a1e to aed87ae
1877 2013-04-08 17:02:32 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
1880 * omx/gstomxaudioenc.c:
1881 * omx/gstomxh263enc.c:
1882 * omx/gstomxh264enc.c:
1883 * omx/gstomxmpeg4videoenc.c:
1884 * omx/gstomxvideodec.c:
1885 * omx/gstomxvideoenc.c:
1886 omx: fix printf formats in debug messages
1887 OMX_U32 is typedefed to an unsigned long,
1888 OMX_TICKS to a 64-bit integer.
1890 2013-04-08 16:52:19 +0200 Josep Torra <n770galaxy@gmail.com>
1892 * omx/gstomxvideodec.c:
1893 omxvideodec: use the correct printf format in a debug message
1895 2013-04-08 16:31:33 +0200 Josep Torra <n770galaxy@gmail.com>
1897 * omx/gstomxvideodec.c:
1898 omxvideodec: use the correct OMX_IndexParam value
1899 Fixes playback is not smooth in the EGL path.
1901 2013-04-05 13:45:24 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1903 * omx/gstomxvideodec.c:
1904 omxvideodec: Don't use API that is not in master yet
1905 It's not really needed here yet, will be needed in future versions
1907 2013-02-25 11:55:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1913 * omx/gstomxvideodec.c:
1914 * omx/gstomxvideodec.h:
1915 omxvideodec: Add support for egl_render on RPi
1917 2013-03-22 19:26:54 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
1922 2013-03-22 19:23:14 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
1924 * omx/gstomxh263enc.c:
1925 * omx/gstomxh264enc.c:
1926 * omx/gstomxmpeg4videoenc.c:
1927 omx: fix compiler warnings when compiling with -DG_DISABLE_ASSERT
1928 As we do for releases. Fixes 'variable may be used uninitialized'
1931 === release 1.0.0 ===
1933 2013-03-22 17:16:33 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1944 2013-03-19 16:40:09 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
1946 * omx/gstomxtheoradec.h:
1947 * omx/gstomxvp8dec.h:
1948 omx: fix typo in copyright headers
1950 2013-03-19 13:46:33 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1952 * config/rpi/gstomx.conf:
1953 rpi: Fix commit that added the VC1 decoder
1955 2013-03-19 13:27:35 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1957 * config/rpi/gstomx.conf:
1958 * omx/gstomxh263dec.c:
1959 * omx/gstomxh264dec.c:
1960 * omx/gstomxmjpegdec.c:
1961 * omx/gstomxmpeg2videodec.c:
1962 * omx/gstomxmpeg4videodec.c:
1963 * omx/gstomxtheoradec.c:
1964 * omx/gstomxvideodec.c:
1965 * omx/gstomxvp8dec.c:
1966 * omx/gstomxwmvdec.c:
1967 omx: Add more constraints to the default sink template caps
1969 2013-03-19 13:10:39 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1971 * config/rpi/gstomx.conf:
1972 rpi: Add VC1/WMV3 decoder
1973 WMV2 and WMV1 (aka WMV 1-8) are not supported by RPi.
1975 2013-03-19 12:59:20 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1977 * config/rpi/gstomx.conf:
1978 rpi: Add MJPEG decoder
1980 2013-03-19 12:56:50 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1982 * config/rpi/gstomx.conf:
1983 rpi: Add VP8 decoder
1985 2013-03-19 12:55:09 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1987 * omx/gstomxvideodec.c:
1988 omxvideodec: Set ENDOFFRAME flag for the end of frames
1990 2013-03-19 12:28:50 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1992 * config/rpi/gstomx.conf:
1993 rpi: Add Theora decoder to the config
1995 2013-03-19 09:36:18 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2000 * omx/gstomxtheoradec.c:
2001 * omx/gstomxtheoradec.h:
2002 omx: Add Theora decoder
2004 2013-03-18 16:43:24 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2007 omx: Remove additional comma
2009 2013-03-18 16:34:21 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2011 * config/rpi/gstomx.conf:
2014 * omx/gstomxmpeg2dec.h:
2015 * omx/gstomxmpeg2videodec.c:
2016 * omx/gstomxmpeg2videodec.h:
2017 omx: Rename MPEG2 decoder for consistency everywhere
2019 2013-03-18 16:30:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2023 * omx/gstomxmjpegdec.c:
2024 * omx/gstomxmjpegdec.h:
2025 omx: Add MJPEG decoder support
2027 2013-03-18 16:06:54 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2032 * omx/gstomxvp8dec.c:
2033 * omx/gstomxvp8dec.h:
2034 omx: Add VP8 decoder support
2036 2013-03-18 15:44:23 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2038 * config/rpi/gstomx.conf:
2039 rpi: Add h263 decoder and rename MPEG2 decoder for consistency
2041 2013-03-16 13:20:27 +0000 Tim-Philipp Müller <tim@centricular.net>
2043 * omx/gstomxmpeg2dec.c:
2044 omxmpeg2dec: mpeg-2 decoder should be able to handle mpeg-1 too
2045 https://bugzilla.gnome.org/show_bug.cgi?id=695879
2047 2013-03-16 10:13:06 +0100 Josep Torra <n770galaxy@gmail.com>
2050 omx: minor stylistic change for consistency with other similar code
2052 2013-03-16 10:00:24 +0100 Josep Torra <n770galaxy@gmail.com>
2054 * omx/gstomxaudioenc.c:
2055 * omx/gstomxvideodec.c:
2056 * omx/gstomxvideoenc.c:
2057 omx: Clarify that loop task is also paused in EOS
2059 2013-03-16 09:59:01 +0100 Josep Torra <n770galaxy@gmail.com>
2061 * omx/gstomxvideoenc.c:
2062 omxvideoenec: Don't forget propagate flow return value upstream
2064 2013-03-15 13:16:39 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
2067 omx: improve debug logging some more
2069 2013-03-15 14:09:45 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2071 * omx/gstomxvideodec.c:
2072 omxvideodec: Make sure that the first frame we pass to OpenMAX is a sync frame
2074 2013-03-15 11:46:34 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2076 * omx/gstomxaudioenc.c:
2077 * omx/gstomxvideodec.c:
2078 * omx/gstomxvideoenc.c:
2079 omx: Stop output port task after draining
2081 2013-03-15 10:58:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2084 omx: Reset EOS flag in more places
2086 2013-03-15 10:38:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2088 * omx/gstomxvideodec.c:
2089 omxvideodec: Deallocate output buffers with the right function
2091 2013-03-15 01:06:05 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
2095 omx: log commands as strings
2096 Makes logs easier to read.
2098 2013-03-15 00:47:47 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
2102 omx: log states as strings
2104 2013-03-15 00:28:02 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
2108 omx: log component name in debug messages
2109 Useful when we have more different components
2110 active at the same time.
2112 2013-03-15 09:51:42 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2114 * omx/gstomxvideodec.c:
2115 omxvideodec: Don't interpolate timestamps
2116 We will get exactly one frame per input buffer and assigning
2117 timestamps between frames if more than one OMX buffer is required
2118 per frame easily confuses timestamp tracking in OMX.
2120 2013-03-15 09:32:42 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2122 * omx/gstomxvideodec.c:
2123 omxvideodec: Give the codec_data the timestamp of the first frame and no duration
2125 2013-03-14 17:31:17 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2127 * config/rpi/gstomx.conf:
2128 omx: The MPEG4 encoder is not available on RPi and probably never will
2130 2013-03-14 17:26:30 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2133 omx: Reset some more buffer fields as required
2135 2013-03-14 17:01:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2137 * config/rpi/gstomx.conf:
2139 omx: The hack to disable usage of EOS buffers is not necessary anymore on RPi
2141 2013-03-14 17:00:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2144 omx: Reset the flags for output ports when releasing a buffer, not for input ports
2146 2013-03-14 15:03:02 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2148 * omx/gstomxh263enc.c:
2149 * omx/gstomxh264enc.c:
2150 * omx/gstomxmpeg4videoenc.c:
2151 omx: Only unref caps after usage of its fields
2153 2013-03-14 14:51:32 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2155 * omx/gstomxvideodec.c:
2156 omxvideodec: Simplify bufferpool implementation
2158 2013-03-13 13:23:35 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2160 * omx/gstomxvideodec.c:
2161 omxvideodec: Improve min/max buffer counts handling
2163 2013-03-14 12:49:42 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2167 * omx/gstomxaudioenc.c:
2168 * omx/gstomxvideodec.c:
2169 * omx/gstomxvideoenc.c:
2170 omx: Handle the OMX_EventBufferFlag to detect EOS too
2172 2013-03-13 10:29:23 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2176 omx: Mark OpenMAX buffers as EGLImage if they contain one
2177 Needs special handling in some places, e.g. because nFilledLen
2180 2013-03-13 10:21:49 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2182 * omx/gstomxvideoenc.c:
2183 omxvideoenc: Properly check the nVersion field
2185 2013-03-13 09:34:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2187 * omx/gstomxvideoenc.c:
2188 omxvideoenc: RPi returns garbage for OMX_IndexParamVideoBitrate, work around that
2190 2013-03-12 20:02:53 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2192 * omx/gstomxvideodec.c:
2193 omxvideodec: Make sure to always get the right buffer
2195 2013-03-12 19:35:39 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2197 * omx/gstomxvideodec.c:
2198 omxvideodec: Make sure the buffer is released to the pool if it's not the one we wanted
2200 2013-03-12 19:17:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2202 * omx/gstomxvideodec.c:
2203 omxvideodec: Drop too late frames instead of finishing them
2205 2013-03-12 19:16:46 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2207 * omx/gstomxvideodec.c:
2208 omx: Release buffers to the correct port
2210 2013-03-13 09:37:02 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2213 omx: Always load the OpenMAX IL cores with G_MODULE_BIND_LOCAL
2215 2013-03-12 18:20:22 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2218 omx: Lazy-load symbols of libbcm_host.so
2219 It exports eglIntOpenMAXILDoneMarker(), which is also
2220 exported by libopenmaxil.so... but we need the version
2221 from libopenmaxil.so as the other one is just a stub.
2223 2013-03-11 13:59:15 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2225 * omx/gstomxaacenc.c:
2226 * omx/gstomxh263enc.c:
2227 * omx/gstomxmpeg4videoenc.c:
2228 omx: Don't set profile/level in other encoders if downstream caps don't specify any
2230 2013-03-11 13:49:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2232 * omx/gstomxh264enc.c:
2233 omxh264enc: If caps specify no profile/level use the component's defaults
2235 2013-03-11 13:45:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2237 * omx/gstomxvideoenc.c:
2238 omxvideoenc: Always allocate output buffers from the loop function
2240 2013-03-11 13:12:57 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2242 * omx/gstomxh264enc.c:
2243 omxh264enc: The h264 encoders are supposed to output byte-stream/au
2245 2013-03-11 11:47:42 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2247 * omx/gstomxvideoenc.c:
2248 omxvideoenc: Wait until the Executing state is reached before passing buffers to the component
2250 2013-03-11 10:39:25 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2252 * omx/gstomxvideodec.c:
2253 omxvideodec: Don't provide buffers to downstream
2254 This only works reliable if we have a way to tell downstream to
2255 release all our buffers for reconfiguration.
2257 2013-03-11 10:29:44 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2259 * omx/gstomxaudioenc.c:
2260 omxaudioenc: Disable output port when setting a new format
2262 2013-03-11 10:29:30 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2264 * omx/gstomxvideoenc.c:
2265 omxvideoenc: Disable output port when setting a new format
2267 2013-03-11 10:22:07 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2269 * omx/gstomxvideodec.c:
2270 omxvideodec: Disable output port when setting a new format
2271 Based on a patch by Josep Torra <n770galaxy@gmail.com>
2273 2013-03-11 10:04:10 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2275 * omx/gstomxaudioenc.c:
2276 * omx/gstomxvideodec.c:
2277 * omx/gstomxvideoenc.c:
2278 omx: Catch errors when releasing buffers to a port and handle them
2280 2013-03-10 12:09:23 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2282 * omx/gstomxvideoenc.c:
2283 omxvideoenc: Use the correct video codec state when filling an input buffer
2285 2013-03-10 12:05:50 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2287 * omx/gstomxvideoenc.c:
2288 omxvideoenc: Store correct input state
2290 2013-03-10 11:27:34 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2292 * omx/gstomxvideoenc.c:
2293 omxvideoenc: Allocate output buffers as early as possible
2295 2013-03-10 11:01:57 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2298 omx: Log unknown events
2300 2013-03-09 14:14:40 +0100 Josep Torra <n770galaxy@gmail.com>
2302 * omx/gstomxaudioenc.c:
2303 * omx/gstomxvideodec.c:
2304 * omx/gstomxvideoenc.c:
2305 omx: Fix deadlock in encoders and add explainatory comments.
2307 2013-03-09 13:27:08 +0100 Josep Torra <n770galaxy@gmail.com>
2309 * omx/gstomxvideodec.c:
2310 omxvideodec: fix printf format identifier
2312 2013-03-09 13:07:59 +0100 Josep Torra <n770galaxy@gmail.com>
2314 * omx/gstomxvideodec.c:
2315 omx: Minor changes on debuging info
2317 2013-03-09 13:00:33 +0100 Josep Torra <n770galaxy@gmail.com>
2319 * omx/gstomxvideodec.c:
2320 omxvideodec: avoid a deadlock
2322 2013-03-08 15:56:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2324 * omx/gstomxvideodec.c:
2325 omxvideodec: Don't forget to populate output port
2327 2013-03-08 15:11:27 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2329 * omx/gstomxaudioenc.c:
2330 * omx/gstomxvideodec.c:
2331 * omx/gstomxvideoenc.c:
2332 omx: Flush and stop srcpad when configuring new caps
2334 2013-03-07 17:40:21 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2336 * config/rpi/gstomx.conf:
2338 Revert "omx: use no-component-reconfigure hack on the Raspberry PI"
2339 This reverts commit e123b2089f69a413241f30a2428ea6edd8f231e7.
2340 It's not required anymore after the fix from the last commit.
2342 2013-03-07 17:38:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2344 * omx/gstomxvideodec.c:
2345 omxvideodec: Only negotiate a color format with downstream on the initial caps
2347 2013-03-07 17:29:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2349 * omx/gstomxvideodec.c:
2350 omxvideodec: Make sure the output port is disabled while we allocate buffers
2352 2013-03-07 17:27:05 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2355 omx: Also wait for disabled output ports to be reconfigured
2357 2013-03-07 14:10:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2359 * omx/gstomxvideodec.c:
2360 * omx/gstomxvideodec.h:
2361 omxvideodec: Add buffer pool for sharing OpenMAX memory with downstream
2363 2013-03-07 11:11:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2367 * omx/gstomxaudioenc.c:
2368 * omx/gstomxvideodec.c:
2369 * omx/gstomxvideoenc.c:
2370 omx: Add timeout to the flush operation and move buffer populating to a separate function
2372 2013-03-06 17:33:23 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2374 * config/rpi/gstomx.conf:
2377 omx: Remove min buffer count hack for RPi again
2378 It's not necessary anymore
2380 2013-03-06 17:05:51 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2384 * omx/gstomxaudioenc.c:
2385 * omx/gstomxvideodec.c:
2386 * omx/gstomxvideoenc.c:
2387 omx: Do number of buffers configuration explicitely
2389 2013-03-07 11:24:54 +0100 Josep Torra <n770galaxy@gmail.com>
2391 * omx/gstomxvideodec.c:
2392 omxvideodec: fixes reconfiguration
2393 Avoid having fixed fields from previous caps on reconfiguration.
2395 2013-03-07 11:02:39 +0100 Josep Torra <n770galaxy@gmail.com>
2397 * config/rpi/gstomx.conf:
2399 omx: use no-component-reconfigure hack on the Raspberry PI
2401 2013-03-07 00:03:28 +0000 Tim-Philipp Müller <tim@centricular.net>
2404 Automatic update of common submodule
2405 From 2de221c to 04c7a1e
2407 2013-03-01 15:32:47 +0100 Josep Torra <n770galaxy@gmail.com>
2409 * omx/gstomxvideoenc.h:
2410 omxvideoenc: drop unused data member
2412 2013-03-01 12:23:54 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2414 * omx/gstomxh263enc.c:
2415 * omx/gstomxh264enc.c:
2416 * omx/gstomxmpeg4videoenc.c:
2417 omxvideoenc: And set it actually on the right port
2419 2013-03-01 12:18:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2421 * omx/gstomxh263enc.c:
2422 * omx/gstomxh264enc.c:
2423 * omx/gstomxmpeg4videoenc.c:
2424 omxvideoenc: Set the coding type in the subclasses to the specific codec
2426 2013-03-01 11:49:53 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2428 * omx/gstomxvideoenc.c:
2429 omxvideoenc: gst_omx_port_update_port_definition() returns a OMX_ERRORTYPE, not a gboolean
2431 2013-03-01 11:44:17 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2433 * omx/gstomxvideodec.c:
2434 * omx/gstomxvideoenc.c:
2435 omxvideo{dec,enc}: Don't use the input state if it wasn't set yet
2437 2013-03-01 11:25:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2439 * omx/gstomxaudioenc.c:
2440 omxaudioenc: Only enable the output port after we know the output format
2442 2013-03-01 11:24:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2444 * omx/gstomxvideoenc.c:
2445 omxvideoenc: Only enable the output port after we know the output format
2447 2013-02-28 17:02:31 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2449 * omx/gstomxvideodec.c:
2450 omxvideodec: Only enable the output port after we know the output format
2452 2013-03-01 11:18:18 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2456 omx: Handle errors more gracefully
2458 2013-02-28 15:48:53 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2462 * omx/gstomxaudioenc.c:
2463 * omx/gstomxh263dec.c:
2464 * omx/gstomxh264dec.c:
2465 * omx/gstomxmpeg2dec.c:
2466 * omx/gstomxmpeg4videodec.c:
2467 * omx/gstomxvideodec.c:
2468 * omx/gstomxwmvdec.c:
2469 omx: Return the OMX_ERRORTYPE from gst_omx_port_update_port_definition
2471 2013-02-28 15:37:53 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2474 omx: Return port definition update errors
2476 2013-02-28 13:57:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2478 * config/rpi/gstomx.conf:
2481 omx: Add hack for RPi for the minimum number of buffers required for a port
2482 The value in the port definition is invalid and the initial actual
2483 buffer count should be used.
2485 2013-02-28 13:26:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2488 omx: Always tell the component about the right number of buffers that we're going to allocate
2490 2013-02-28 13:07:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2493 omx: Invert assertion to let it express what was intended
2495 2013-02-28 11:19:07 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2499 * omx/gstomxaudioenc.c:
2500 * omx/gstomxvideodec.c:
2501 * omx/gstomxvideoenc.c:
2502 omx: Add API for allocating a specific number of buffers and using EGLImages or buffers allocated elsewhere
2504 2013-02-27 16:55:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2506 * omx/gstomxaudioenc.c:
2507 * omx/gstomxvideodec.c:
2508 * omx/gstomxvideoenc.c:
2509 omx: Refactor code flow a bit if output port settings have changed
2511 2013-02-27 15:49:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2515 * omx/gstomxaudioenc.c:
2516 * omx/gstomxvideodec.c:
2517 * omx/gstomxvideoenc.c:
2518 omx: Clean up port settings change handling
2520 2013-02-27 11:30:14 +0100 Josep Torra <n770galaxy@gmail.com>
2522 * omx/gstomxvideodec.c:
2523 omxvideodec: initialize param structure before using it
2525 2013-02-27 10:21:39 +0100 Josep Torra <n770galaxy@gmail.com>
2527 * omx/gstomxvideoenc.c:
2528 omxvideoenc: prevent a NULL pointer access
2530 2013-02-26 17:25:49 +0100 Josep Torra <n770galaxy@gmail.com>
2532 * omx/gstomxvideodec.c:
2533 omxvideodec: prevent a NULL pointer access
2535 2013-02-25 13:11:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2538 omx: Fix deadlock during reconfiguration
2540 2013-02-25 12:38:27 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2543 * omx/gstomxaudioenc.c:
2544 * omx/gstomxvideodec.c:
2545 * omx/gstomxvideoenc.c:
2546 omx: Auto-detect the port indizes if possible
2548 2013-02-25 11:42:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2550 * omx/gstomxvideodec.c:
2551 * omx/gstomxvideoenc.c:
2552 omx: Refactor querying of component supported caps into its own function
2554 2013-02-25 10:41:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2558 * omx/gstomxaudioenc.c:
2559 * omx/gstomxvideodec.c:
2560 * omx/gstomxvideoenc.c:
2561 omx: Refactor waiting for buffers to be released by the component to a separate function
2563 2013-01-11 17:44:13 +0000 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2567 omx: Add methods to set up and close a tunnel between components
2569 2013-02-25 09:15:53 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2571 * omx/gstomxaacenc.c:
2572 * omx/gstomxaudioenc.c:
2573 * omx/gstomxaudioenc.h:
2574 omxaudioenc: Rename component variable
2576 2013-02-25 09:15:46 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2578 * omx/gstomxh263enc.c:
2579 * omx/gstomxh264enc.c:
2580 * omx/gstomxmpeg4videoenc.c:
2581 * omx/gstomxvideoenc.c:
2582 * omx/gstomxvideoenc.h:
2583 omxvideoenc: Rename component variable
2585 2013-02-25 09:12:22 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2587 * omx/gstomxvideodec.c:
2588 * omx/gstomxvideodec.h:
2589 omxvideodec: Rename component variable
2591 2013-02-22 16:27:33 +0100 Josep Torra <n770galaxy@gmail.com>
2593 * omx/gstomxvideoenc.c:
2594 omxvideoenc: remove duplicated line
2596 2013-02-22 10:42:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2599 Retry loading libbcm_host.so without an absolute path if that failed
2601 2013-02-21 20:32:42 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2603 * config/bellagio/Makefile.am:
2604 Add missing file from last commit
2606 2013-02-21 11:01:28 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2608 * config/Makefile.am:
2609 * config/bellagio/gstomx.conf:
2612 Add OpenMAX IL target for Bellagio
2613 Not tested since a very long time though.
2615 2013-02-21 10:59:29 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2619 Allow using external OpenMAX IL headers
2621 2013-02-21 10:14:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2626 2013-02-21 10:13:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2628 * config/Makefile.am:
2629 * config/rpi/Makefile.am:
2630 * config/rpi/gstomx.conf:
2632 Install the RPI config when the RPI target is selected
2634 2013-02-21 10:08:07 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2637 Set default hacks for the RPI target and always initialize bcm_host
2639 2013-02-21 10:05:37 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2642 Add configure parameter for setting the OpenMAX IL target
2644 2013-02-12 11:55:39 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2647 omx: Add FIXME for the future
2649 2013-02-12 11:49:21 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2653 * omx/gstomxaudioenc.c:
2654 * omx/gstomxaudioenc.h:
2655 * omx/gstomxvideodec.c:
2656 * omx/gstomxvideodec.h:
2657 * omx/gstomxvideoenc.c:
2658 * omx/gstomxvideoenc.h:
2659 omx: Some minor refactoring and cleanup
2661 2013-02-12 11:45:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2664 omx: Don't access the port's buffers array if it wasn't allocated yet
2666 2013-02-12 11:44:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2669 omx: Mark an array as const
2671 2013-02-12 11:41:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2675 * omx/gstomxaudioenc.c:
2676 * omx/gstomxvideodec.c:
2677 * omx/gstomxvideoenc.c:
2678 omx: Split enabling/disabling of port into sending the command and waiting for it
2679 This allows to do anything necessary after sending the command to actually let it finish
2681 2013-02-12 11:37:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2684 omx: Flushing is also allowed in Paused state
2686 2013-02-12 11:28:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2688 * omx/gstomxvideoenc.c:
2689 omxvideoenc: Set stride, slice height and buffer size
2691 2013-02-12 11:09:30 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2693 * config/raspberry-pi.conf:
2694 config: Add h264 and mpeg2 encoders to the raspberry pi config
2695 Not completely working yet though.
2697 2013-02-12 11:03:32 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2699 * omx/gstomxvideoenc.c:
2700 omxvideoenc: Properly negotiate OMX color format with the component
2702 2013-02-12 10:53:24 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2704 * omx/gstomxvideoenc.c:
2705 omxvideoenc: Implement getcaps() vfunc
2707 2013-01-29 21:32:53 +0000 Tim-Philipp Müller <tim@centricular.net>
2710 configure: use 1.0 gstconfig.h to detect disabled subsystems
2711 Update unused configure check for GStreamer core subsystem
2712 features from 0.10 to 1.0.
2714 2013-01-28 20:44:41 +0100 Stefan Sauer <ensonic@users.sf.net>
2717 Automatic update of common submodule
2718 From a942293 to 2de221c
2720 2013-01-24 14:02:36 +0100 Julian Scheel <julian@jusst.de>
2722 * config/raspberry-pi.conf:
2725 * omx/gstomxmpeg2dec.c:
2726 * omx/gstomxmpeg2dec.h:
2727 omx: add mpeg2 video decoder
2728 This adds a decoder class for mpeg2, as well as an extended
2729 configuration for raspberry pi.
2730 https://bugzilla.gnome.org/show_bug.cgi?id=692446
2731 Signed-off-by: Julian Scheel <julian@jusst.de>
2733 2013-01-18 16:47:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2736 omx: Minimize the time when the messages lock is held
2737 Fixes a deadlock if any OMX functions are called when the
2738 messages are handled.
2739 Thanks to Nicolas Dufresne for noticing.
2741 2013-01-18 15:28:20 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
2744 omx: improve debug message when we can't find the config file
2745 Mention where we looked for the config file.
2747 2013-01-18 12:34:38 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
2750 build: fix autogen.sh with automake 1.13
2751 AM_CONFIG_HEADER -> AC_CONFIG_HEADERS
2753 2013-01-17 18:07:41 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2756 * omx/gstomxaudioenc.h:
2757 * omx/gstomxvideodec.h:
2758 * omx/gstomxvideoenc.h:
2759 omx: Fix includes to properly work with the 1.0 releases
2761 2013-01-15 15:08:28 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
2764 Automatic update of common submodule
2765 From a72faea to a942293
2767 2013-01-15 14:34:45 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2770 omx: Update port definition when changing some port setting
2772 2013-01-14 11:41:57 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2776 omx: Rename from libgstopenmax.so to ligstomx.so for consistency
2778 2013-01-11 15:32:22 +0000 Nicolas Dufresne <nicolas.dufresne@collabora.com>
2781 omx: Add a method to send message
2783 2013-01-11 15:44:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2787 omx: Atomic ops are not required anymore for the reconfiguration
2789 2013-01-11 12:52:10 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2791 * omx/gstomxaudioenc.c:
2792 * omx/gstomxvideodec.c:
2793 * omx/gstomxvideoenc.c:
2794 omx: Fix some memory leaks and suboptimal locking
2796 2013-01-11 12:34:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2798 * omx/gstomxvideoenc.c:
2799 omxvideoenc: Don't forget to unmap frame in error cases
2801 2013-01-11 12:29:20 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2803 * omx/gstomxvideoenc.c:
2804 omxvideoenc: Fix copying of the video frames to the OMX buffers
2806 2013-01-11 12:24:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2808 * omx/gstomxvideodec.c:
2809 omxvideodec: Fix copying of the video frames from the OMX buffers
2811 2013-01-10 14:44:33 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2816 * omx/gstomxaudioenc.c:
2817 * omx/gstomxrecmutex.c:
2818 * omx/gstomxrecmutex.h:
2819 omx: Implement new approach for locking that should solve all deadlocks on RPi
2820 No mutex is locked while calling any OpenMAX functions anymore
2821 and everything from the OpenMAX callbacks is inserted into a message
2822 queue and handled from outside the callbacks.
2823 Also there's only a single mutex and condition variable per component
2824 now for handling anything from OpenMAX callbacks and a single mutex
2825 for keeping our component/port state sane.
2827 2012-12-20 19:30:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2829 * omx/gstomxvideodec.c:
2830 omxvideodec: Set the OMX buffer nFilledLength field properly
2832 2012-12-20 18:48:21 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2834 * omx/gstomxrecmutex.c:
2835 * omx/gstomxrecmutex.h:
2836 omxrecmutex: Fix another race condition when two threads are trying to lock for recursion at the same time
2838 2012-12-20 18:16:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2840 * omx/gstomxrecmutex.c:
2841 * omx/gstomxrecmutex.h:
2842 omxrecmutex: Fix yet another race condition that resulted in deadlocks
2844 2012-12-20 17:46:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2847 * omx/gstomxrecmutex.c:
2848 * omx/gstomxrecmutex.h:
2849 omx: Fix another race condition in the recursive mutex
2850 Between lock() and begin_recursion() it was possible for another thread to
2851 try to do a recursive_lock(). This would block because the mutex was already
2852 locked(), but not ready for recursive locking yet. unlock() would never
2853 happen in the original thread because it was waiting for the other thread
2855 Happened on the Raspberry Pi.
2857 2012-12-20 14:45:18 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2859 * omx/gstomxrecmutex.c:
2860 * omx/gstomxrecmutex.h:
2861 omxrecmutex: Fix a small race condition when unlocking a non-recursive lock
2863 2012-12-20 12:30:05 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2865 * omx/gstomxaudioenc.c:
2866 * omx/gstomxvideodec.c:
2867 * omx/gstomxvideoenc.c:
2868 omx: Fix ununsed variable compiler warning
2870 2012-12-20 12:27:47 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2872 * omx/gstomxaudioenc.c:
2873 * omx/gstomxvideodec.c:
2874 * omx/gstomxvideoenc.c:
2875 omx: No need to start the srcpad task in ::start() already
2876 It will be started properly after the caps are set.
2878 2012-12-20 12:23:49 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2880 * omx/gstomxvideodec.c:
2881 omxvideodec: OMX_ErrorNoMore is no error and just means we ended iteration
2883 2012-12-20 12:20:31 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2885 * omx/gstomxaudioenc.c:
2886 * omx/gstomxvideodec.c:
2887 * omx/gstomxvideoenc.c:
2888 omx: Improve debug output
2890 2012-12-20 12:02:30 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2892 * omx/gstomxvideodec.c:
2893 omxvideodec: Don't forget to free a GList
2895 2012-12-20 11:56:29 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2897 * omx/gstomxvideodec.c:
2898 omxvideodec: Map OMX_COLOR_FormatYUV420PackedPlanar to I420 too
2899 This is used on the Raspberry Pi.
2901 2012-12-20 11:55:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2903 * omx/gstomxvideodec.c:
2904 omxvideodec: During negotiation of the output format make sure we use the correct OpenMAX format
2906 2012-12-20 11:42:17 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2908 * omx/gstomxvideodec.c:
2909 omxvideodec: If negotiation fails this could also mean that the component can't do it at this point yet
2911 2012-12-20 11:40:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2913 * omx/gstomxvideodec.c:
2914 omxvideodec: Improve format negotiation a bit
2915 Don't leak caps and make sure to fixate caps.
2917 2012-12-19 13:05:28 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2920 omx: Also initialize nStep field of the OMX structures
2922 2012-12-19 13:03:37 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2925 omx: Initialize struct version with the OMX version we compiled with
2927 2012-12-19 12:44:31 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2929 * omx/gstomxvideodec.c:
2930 omxvideodec: Extract data from the input buffer, not the codec data
2932 2012-12-19 12:19:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2935 * tools/listcomponents.c:
2936 omx: Use has_suffix() instead of has_prefix() for the Broadcom hack
2938 2012-12-19 12:08:35 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2942 * tools/Makefile.am:
2943 * tools/listcomponents.c:
2944 tools: Add tool to list all components and their roles
2946 2012-12-19 11:31:51 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2949 omx: Add hack to load and initialize libbcm_host.so
2950 Needed on the Raspberry Pi. Patch based on a patch by
2951 George Kiagiadakis <george.kiagiadakis@collabora.com>
2953 2012-12-19 11:22:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2957 configure: Add configure option to pack OpenMAX structures
2958 This is required to set to 4 for the Raspberry Pi for example.
2960 2012-12-19 11:07:44 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2963 configure: Require GStreamer 1.0.0
2965 2012-04-20 17:13:52 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
2968 omx: Initialize structures to version 1.1.2
2970 2012-12-19 09:51:22 +0000 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2973 * config/Makefile.am:
2974 * config/raspberry-pi.conf:
2976 config: Add raspberry-pi configuration in a different directory
2978 2012-05-20 20:11:59 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
2980 * omx/gstomx-raspberry.conf:
2981 raspberry: Add a gstomx.conf for the Raspberry Pi
2983 2012-12-12 17:45:39 +0000 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2986 * omx/gstomxvideoenc.h:
2987 omx: Fix some compilation errors caused by circular includes
2989 2012-11-19 11:29:44 +0000 Tim-Philipp Müller <tim@centricular.net>
2992 Automatic update of common submodule
2993 From 6bb6951 to a72faea
2995 2012-11-12 15:14:09 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2997 * omx/gstomxvideodec.c:
2998 * omx/gstomxvideoenc.c:
2999 omx: Fix refcount problem with frames being dropped because of decoder bugs
3001 2012-11-12 11:29:48 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3005 * omx/gstomxaudioenc.c:
3006 * omx/gstomxaudioenc.h:
3007 * omx/gstomxrecmutex.c:
3008 * omx/gstomxrecmutex.h:
3009 * omx/gstomxvideodec.c:
3010 * omx/gstomxvideodec.h:
3011 * omx/gstomxvideoenc.c:
3012 * omx/gstomxvideoenc.h:
3013 omx: Update to new GLib thread API
3015 2012-10-22 14:34:53 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3017 * omx/gstomxvideodec.c:
3018 * omx/gstomxvideoenc.c:
3019 omx: Use open/close vfuncs
3021 2012-10-22 14:28:04 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3023 * omx/gstomxvideodec.c:
3024 * omx/gstomxvideoenc.c:
3025 omx: Handle video meta correctly
3027 2012-06-20 13:11:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3030 * omx/gstbasevideocodec.c:
3031 * omx/gstbasevideocodec.h:
3032 * omx/gstbasevideodecoder.c:
3033 * omx/gstbasevideodecoder.h:
3034 * omx/gstbasevideoencoder.c:
3035 * omx/gstbasevideoencoder.h:
3036 * omx/gstbasevideoutils.c:
3037 * omx/gstbasevideoutils.h:
3038 * omx/gstomxh263dec.c:
3039 * omx/gstomxh263enc.c:
3040 * omx/gstomxh264dec.c:
3041 * omx/gstomxh264enc.c:
3042 * omx/gstomxmpeg4videodec.c:
3043 * omx/gstomxmpeg4videoenc.c:
3044 * omx/gstomxvideodec.c:
3045 * omx/gstomxvideodec.h:
3046 * omx/gstomxvideoenc.c:
3047 * omx/gstomxvideoenc.h:
3048 * omx/gstomxwmvdec.c:
3049 omx: Port to video base classes from -base
3051 2012-10-17 17:57:43 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
3053 * omx/gstomxaacenc.c:
3054 * omx/gstomxh263dec.c:
3055 * omx/gstomxh263enc.c:
3056 * omx/gstomxh264dec.c:
3057 * omx/gstomxh264enc.c:
3058 * omx/gstomxmpeg4videodec.c:
3059 * omx/gstomxmpeg4videoenc.c:
3060 * omx/gstomxwmvdec.c:
3061 omx: gst_element_class_set_details_simple() -> set_static_metadata()
3063 2012-10-06 15:01:11 +0100 Tim-Philipp Müller <tim@centricular.net>
3066 Automatic update of common submodule
3067 From 6c0b52c to 6bb6951
3069 2012-09-22 16:10:38 +0100 Tim-Philipp Müller <tim@centricular.net>
3072 Automatic update of common submodule
3073 From 4f962f7 to 6c0b52c
3075 2012-06-21 20:22:13 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
3078 omx: fix debug statement
3080 2012-06-21 20:21:03 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
3083 omx: use recursive_lock inside set_last_error(), since this function may be called from an event handler
3085 2012-08-22 13:31:59 +0200 Stefan Sauer <ensonic@users.sf.net>
3088 Automatic update of common submodule
3089 From 668acee to 4f962f7
3091 2012-08-05 16:42:43 +0100 Tim-Philipp Müller <tim@centricular.net>
3094 Automatic update of common submodule
3095 From 94ccf4c to 668acee
3097 2012-08-03 19:32:13 +0100 Tim-Philipp Müller <tim@centricular.net>
3100 omx: fix plugin name for new GST_PLUGIN_DEFINE API
3102 2012-07-23 08:47:32 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3105 Automatic update of common submodule
3106 From 98e386f to 94ccf4c
3108 2012-07-10 09:57:09 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3110 * omx/gstbasevideodecoder.c:
3111 omx: Update for allocation query API changes
3113 2012-06-20 11:09:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3115 * omx/gstomxaudioenc.c:
3116 * omx/gstomxvideodec.c:
3117 * omx/gstomxvideoenc.c:
3118 omx: Fix compilation after gst_pad_start_task() API changes
3120 2012-06-08 15:06:35 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
3123 Automatic update of common submodule
3124 From 03a0e57 to 98e386f
3126 2012-06-06 18:20:18 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
3129 Automatic update of common submodule
3130 From 1fab359 to 03a0e57
3132 2012-06-01 10:30:27 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
3135 Automatic update of common submodule
3136 From f1b5a96 to 1fab359
3138 2012-05-31 13:10:33 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3141 Automatic update of common submodule
3142 From 92b7266 to f1b5a96
3144 2012-05-30 12:47:59 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3147 Automatic update of common submodule
3148 From ec1c4a8 to 92b7266
3150 2012-05-30 11:26:30 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3153 Automatic update of common submodule
3154 From 3429ba6 to ec1c4a8
3156 2012-05-13 15:58:10 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3159 Automatic update of common submodule
3160 From dc70203 to 3429ba6
3162 2012-05-08 16:13:32 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
3165 omx: Fix spelling mistake found by lintian: s/Seperate/Separate/
3167 2012-04-30 23:58:43 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
3172 * omx/gstomxaudioenc.c:
3173 * omx/gstomxrecmutex.c:
3174 * omx/gstomxrecmutex.h:
3175 * omx/gstomxvideodec.c:
3176 * omx/gstomxvideoenc.c:
3177 Implement a new custom recursive mutex type and fix locking in callbacks so that in-context calls are allowed.
3178 According to the OMX specification, implementations are allowed to call
3179 callbacks in the context of their function calls. However, our callbacks
3180 take locks and this causes deadlocks if the unerlying OMX implementation
3181 uses this kind of in-context calls.
3182 A solution to the problem would be a recursive mutex. However, a normal
3183 recursive mutex does not fix the problem because it is not guaranteed
3184 that the callbacks are called from the same thread. What we see in Broadcom's
3185 implementation for example is:
3187 - OMX_Foo waits on a condition
3188 - A callback is executed in a different thread
3189 - When the callback returns, its calling function
3190 signals the condition that OMX_Foo waits on
3191 - OMX_Foo wakes up and returns
3192 The solution I came up with here is to take a second lock inside the callback,
3193 but only if recursion is expected to happen. Therefore, all calls to OMX
3194 functions are guarded by calls to gst_omx_rec_mutex_begin_recursion() / _end_recursion(),
3195 which effectively tells the mutex that at this point we want to allow calls
3196 to _recursive_lock() to succeed, although we are still holding the master lock.
3198 2012-04-20 14:51:34 +0000 George Kiagiadakis <george.kiagiadakis@collabora.com>
3202 omx: Add hack to disable setting roles to components.
3206 2012-04-30 23:20:24 +0000 George Kiagiadakis <george.kiagiadakis@collabora.com>
3209 * omx/gstomxvideodec.c:
3210 omxvideodec: Implement no-empty-eos-buffer hack, as in omxvideoenc.
3212 omx/gstomxvideodec.c
3214 2012-04-30 23:19:55 +0000 George Kiagiadakis <george.kiagiadakis@collabora.com>
3216 * omx/gstomxvideodec.c:
3217 omxvideodec: Fix coding style in the drain-may-not-return hack code
3219 2012-04-25 19:03:48 +0530 Arun Raghavan <arun.raghavan@collabora.co.uk>
3222 omx: Fix trivial debug print bug
3224 2012-04-25 19:01:32 +0530 Arun Raghavan <arun.raghavan@collabora.co.uk>
3228 * omx/gstomxvideodec.c:
3229 omxvideodec: Add hack for Ducati components not returning from drain
3230 This happens on the Galaxy Nexus, and causes the pipeline to hang waiting
3231 endlessly for a drain. The hack replaces the wait with a wait + 500ms timeout.
3233 2012-04-25 16:35:40 +0530 Arun Raghavan <arun.raghavan@collabora.co.uk>
3236 omx: Fix deadlock between ending a flush and the event handler
3237 gst_omx_port_set_flushing() calls OMX_FillThisBuffer at the end of a flush
3238 without releasing the port lock, and this can cause a deadlock with the
3239 EventHandler. This patches fixes this by dropping the lock for the duration of
3240 the fill buffer call.
3242 2012-04-24 15:41:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3244 * omx/gstbasevideodecoder.c:
3245 * omx/gstbasevideoencoder.c:
3246 omx: Update video encoder/decoder base classes from gst-plugins-bad
3248 2012-04-16 09:16:10 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3251 configure: Modernize autotools setup a bit
3252 Also we now only create tar.bz2 and tar.xz tarballs.
3254 2012-04-16 09:12:37 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3257 Automatic update of common submodule
3259 2012-04-16 08:34:56 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3261 * omx/gstomxaudioenc.c:
3262 omxaudioenc: Use gst_buffer_extract() to copy the input buffer data to the OpenMAX buffer
3264 2012-04-13 17:16:42 -0400 Alessandro Decina <alessandro.decina@collabora.com>
3267 Fix relative/absolute path glitch
3268 Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@collabora.com>
3270 2012-04-12 15:57:32 -0400 Olivier Crête <olivier.crete@collabora.com>
3275 * omx/gstbasevideocodec.c:
3276 * omx/gstbasevideocodec.h:
3277 * omx/gstbasevideodecoder.c:
3278 * omx/gstbasevideodecoder.h:
3279 * omx/gstbasevideoencoder.c:
3280 * omx/gstbasevideoencoder.h:
3283 * omx/gstomxaacenc.c:
3284 * omx/gstomxaudioenc.c:
3285 * omx/gstomxaudioenc.h:
3286 * omx/gstomxh263dec.c:
3287 * omx/gstomxh263enc.c:
3288 * omx/gstomxh264dec.c:
3289 * omx/gstomxh264enc.c:
3290 * omx/gstomxmpeg4videodec.c:
3291 * omx/gstomxmpeg4videoenc.c:
3292 * omx/gstomxvideodec.c:
3293 * omx/gstomxvideodec.h:
3294 * omx/gstomxvideoenc.c:
3295 * omx/gstomxvideoenc.h:
3296 * omx/gstomxwmvdec.c:
3299 2012-01-18 16:53:16 -0300 Reynaldo H. Verdejo Pinochet <reynaldo@collabora.com>
3303 Enable building with Android's buildsystem
3304 This change adds prelimary buildsystem hooks to
3305 build gst-omx with the Android buildsystem. Like
3306 the rest of GStreamer's Android hooks, the process
3307 relies on the availability of androgenizer. A tool
3308 developed by Collabora to automatically generate
3309 Android.mk files from within the auto* setup.
3310 Androgenizer is currently available at:
3311 http://cgit.collabora.com/git/user/derek/androgenizer.git/
3313 2011-12-13 10:17:41 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3315 * omx/gstbasevideocodec.c:
3316 basevideocodec: Don't use G_TYPE_REGISTER_BOXED() yet
3317 This would require GLib 2.26.
3319 2011-12-14 10:09:34 +0100 Jonas Larsson <Jonas.Larsson@palm.com>
3321 * omx/gstomxaudioenc.c:
3322 omxaudioenc: Add hack for encoder components that don't allow empty EOS buffers
3324 2011-12-14 10:07:29 +0100 Jonas Larsson <Jonas.Larsson@palm.com>
3326 * omx/gstomxvideoenc.c:
3327 omxvideoenc: Fix deadlock when using the EOS hack
3329 2011-12-12 14:26:48 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3331 * omx/gstomxvideoenc.c:
3332 omxvideoenc: Remove workaround for basevideocodec bug
3334 2011-12-12 14:26:34 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3336 * omx/gstomxvideodec.c:
3337 omxvideodec: Remove workaround for basevideocodec bug
3339 2011-12-05 17:57:01 +0000 Matej Knopp <matej.knopp@gmail.com>
3341 * omx/gstbasevideocodec.c:
3342 * omx/gstbasevideocodec.h:
3343 * omx/gstbasevideodecoder.c:
3344 * omx/gstbasevideoencoder.c:
3345 basevideo: Make GstVideoFrame a reference counted boxed object
3346 ...and also clear all existing frames when resetting the decoder or encoder.
3348 2011-12-09 12:17:29 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3352 * omx/gstomxvideoenc.c:
3353 omx: Add hack for encoder components that don't allow empty EOS buffers
3355 2011-12-09 10:21:47 +0100 Dake Gu <Dake.Gu@palm.com>
3357 * omx/gstomxaacenc.c:
3358 omxaacenc: Generate and set codec_data on the caps for raw AAC
3360 2011-10-31 11:36:06 +0100 Alessandro Decina <alessandro.decina@collabora.co.uk>
3362 * omx/gstbasevideoencoder.c:
3363 basevideoencoder: handle failures in start() and stop()
3365 2011-08-26 10:50:38 +0100 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
3367 * omx/gstbasevideoencoder.c:
3368 basevideoenc: do not try to calculate latency from an unknown framerate
3369 It'll divide by zero, and latency is unknown for an unknown framerate.
3370 Fixes an assert in the schroenc test.
3371 https://bugzilla.gnome.org/show_bug.cgi?id=657419
3373 2011-12-08 11:50:49 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3375 * omx/gstbasevideoencoder.c:
3376 basevideoencoder: Only make the header buffer metadata writable, not the buffer
3378 2011-12-08 10:18:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3380 * omx/gstbasevideoencoder.c:
3381 basevideoencoder: Fix handling of force-keyunit events
3383 2011-12-06 13:28:41 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3385 * omx/gstomxaudioenc.c:
3386 omxaudioenc: Don't forward EOS events immediately but let all other events be handled by the base class
3387 Previously this logic was inversed, which did not make any sense at all.
3389 2011-12-06 12:47:25 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3391 * omx/gstomxaudioenc.c:
3392 * omx/gstomxaudioenc.h:
3393 omxaudioenc: Use correct timestamp, duration and filled length for the EOS buffers
3395 2011-12-06 12:47:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3397 * omx/gstomxvideodec.c:
3398 * omx/gstomxvideodec.h:
3399 omxvideodec: Use correct timestamp, duration and filled length for the EOS buffers
3401 2011-12-06 12:46:51 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3403 * omx/gstomxvideoenc.c:
3404 * omx/gstomxvideoenc.h:
3405 omxvideoenc: Use correct timestamp, duration and filled length for the EOS buffers
3407 2011-12-05 13:18:09 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3410 omx: Improve debugging of buffer handling
3412 2011-12-05 08:12:48 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3414 * omx/gstomxvideoenc.c:
3415 omxvideoenc: Drop EOS events in ::finish()
3416 The event will be forwarded downstream from the srcpad
3417 loop function after the last buffer was generated by the
3418 component. Forwarding it after ::finish() will use the
3419 sinkpad streaming thread and does not guarantee that
3420 the encoder is completely drained.
3422 2011-12-01 16:20:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3424 * omx/gstomxvideodec.c:
3425 omxvideodec: Properly drop frames due to QoS
3426 Instead of finishing them they should be passed to drop(), which
3427 will then send QoS messages.
3429 2011-11-29 12:21:32 +0100 Jonas Larsson <jonas@hallerud.se>
3431 * omx/gstomxh264enc.c:
3432 omxh264enc: Add support for resending headers after a forced-keyframe
3434 2011-11-29 12:12:33 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3436 * omx/gstbasevideocodec.h:
3437 * omx/gstbasevideoencoder.c:
3438 basevideoencoder: Pass the all-headers field of the force-key-unit event to the subclass
3440 2011-11-29 12:12:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3442 * omx/gstbasevideoencoder.c:
3443 * omx/gstbasevideoencoder.h:
3444 basevideoencoder: Implement full support for the new force-key-unit event
3445 Including support for the running-time and count fields.
3447 2011-11-29 09:31:11 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3449 * omx/gstbasevideoencoder.c:
3450 basevideoencoder: Use new force-keyunit event API from gst-plugins-base
3452 2011-11-29 09:18:19 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3454 * omx/gstbasevideoencoder.c:
3455 * omx/gstbasevideoencoder.h:
3456 basevideoencoder: Adjusting padding is not required for -bad libraries
3458 2011-11-28 19:48:01 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3460 * omx/gstbasevideoencoder.h:
3461 basevideoencoder: Move some fields to the private part of the instance struct
3463 2011-11-28 19:36:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3465 * omx/gstbasevideoencoder.c:
3466 basevideoencoder: Make headers metadata writable before pushing downstream
3467 The timestamp, duration, etc of the headers has to be changed.
3469 2011-11-28 19:35:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3471 * omx/gstbasevideoencoder.c:
3472 * omx/gstbasevideoencoder.h:
3473 basevideoencoder: Push the downstream force-keyframe event after the next keyframe
3474 Even if the corresponding GstVideoFrame doesn't have the is_sync_point
3477 2011-11-28 19:29:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3479 * omx/gstbasevideoencoder.c:
3480 * omx/gstbasevideoencoder.h:
3481 basevideoencoder: Don't push an upstream force-keyunit event downstream
3483 2011-11-25 11:48:08 +0100 Jonas Larsson <jonas@hallerud.se>
3485 * omx/gstbasevideoencoder.c:
3486 * omx/gstbasevideoencoder.h:
3487 basevideoencoder: Add initial support for the all-headers field of the force-keyframe event
3490 2011-11-25 11:37:39 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
3492 * omx/gstbasevideodecoder.c:
3493 basevideodecoder: some more debug logging
3495 2011-11-23 20:03:32 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
3497 * omx/gstbasevideodecoder.c:
3498 * omx/gstbasevideodecoder.h:
3499 basevideodecoder: add API to drop a frame and post a QoS message on the bus
3500 https://bugzilla.gnome.org/show_bug.cgi?id=640017
3501 API: gst_base_video_decoder_drop_frame()
3503 2011-11-22 23:04:49 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
3505 * omx/gstbasevideodecoder.c:
3506 docs: fix comment in gst_base_video_decoder_get_max_decode_time() docs
3508 2011-11-22 19:57:07 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
3510 * omx/gstbasevideodecoder.c:
3511 basevideodecoder: fix weird event list handling
3512 Get rid of weird code that copies a list manually, taking
3513 ownership of the elements and then frees the old list. Instead,
3514 just take over the old list entirely. (If the intent was to
3515 reverse the list, one could use g_list_reverse() instead).
3516 Then, push events in the list out from last to first (since they
3517 were prepended as they came in) instead of just pushing out the
3518 last in the list and leaking the others.
3520 2011-11-25 11:31:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3524 * omx/gstbaseaudiodecoder.c:
3525 * omx/gstbaseaudiodecoder.h:
3526 * omx/gstbaseaudioencoder.c:
3527 * omx/gstbaseaudioencoder.h:
3528 * omx/gstbaseaudioutils.c:
3529 * omx/gstbaseaudioutils.h:
3530 * omx/gstomxaacenc.c:
3531 * omx/gstomxaudioenc.c:
3532 * omx/gstomxaudioenc.h:
3533 omxaudioenc: Use audio base classes from gst-plugins-base instead of having our own copies
3535 2011-11-18 10:00:31 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3537 * omx/gstomxaudioenc.c:
3538 omxaudioenc: First set ports to flushing before waiting for the srcpad streaming thread to finish
3540 2011-11-18 09:59:43 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3542 * omx/gstomxvideoenc.c:
3543 omxvideoenc: First set ports to flushing before waiting for the srcpad streaming thread to finish
3545 2011-11-18 09:58:58 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3547 * omx/gstomxvideodec.c:
3548 omxvideodec: First set ports to flushing before waiting for the srcpad streaming thread to finish
3550 2011-11-17 14:38:54 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3553 omx: Only disabling of a port is like flushing, enabling is like unflushing
3555 2011-11-17 13:33:35 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3558 omx: Enabling/disabling a port is also like flushing
3559 The component returns all buffers to us and shouldn't get any
3560 new buffers passed anymore.
3562 2011-11-17 11:26:33 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3564 * omx/gstomxaudioenc.c:
3565 omxaudioenc: Signal the drain GCond even if downstream returned an error
3567 2011-11-17 11:26:20 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3569 * omx/gstomxvideoenc.c:
3570 omxvideoenc: Signal the drain GCond even if downstream returned an error
3572 2011-11-17 11:25:52 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3574 * omx/gstomxvideodec.c:
3575 omxvideodec: Signal the drain GCond even if downstream returned an error
3577 2011-11-17 10:34:19 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3579 * omx/gstbasevideoencoder.c:
3580 basevideoencoder: Only call ::reset once in READY->PAUSED
3582 2011-11-17 10:19:35 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3584 * omx/gstomxaudioenc.c:
3585 omxaudioenc: Shutdown component in PAUSED->READY and deallocate buffers
3587 2011-11-17 10:19:30 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3589 * omx/gstomxvideoenc.c:
3590 omxvideoenc: Shutdown component in PAUSED->READY and deallocate buffers
3592 2011-11-17 10:19:10 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3594 * omx/gstomxvideodec.c:
3595 omxvideodec: Shutdown component in PAUSED->READY and deallocate buffers
3597 2011-11-16 12:02:08 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3599 * omx/gstomxvideoenc.c:
3600 omxvideoenc: Set force_keyframe to FALSE after handling it
3601 There's no reason why the base class should forward the event
3602 further downstream if we already handled it and will insert a
3605 2011-11-16 11:21:25 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3607 * omx/gstomxvideodec.c:
3608 omxvideodec: Always push buffers downstream, even if we didn't find a corresponding GstVideoFrame
3610 2011-11-15 09:47:55 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3613 omx: Fix debug level for flushing in wrong state from ERROR to DEBUG
3614 It's not really an error and doesn't matter at all if flush is called
3615 when the component is not running.
3617 2011-11-15 08:40:07 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3619 * omx/gstomxh264enc.c:
3620 omxh264enc: Detect bytestream stream format and don't put SPS/PPS into the caps for this format
3622 2011-11-15 08:28:32 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3624 * omx/gstomxvideoenc.c:
3625 * omx/gstomxvideoenc.h:
3626 omxvideoenc: Add vfunc for handling the output frames
3627 This can be used by subclasses to override the buffer flags
3628 or to handle some frames differently than the default behaviour.
3630 2011-11-14 12:50:26 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3632 * omx/gstomxvideodec.c:
3633 omxvideodec: Don't release buffers twice if dropping because of QoS
3635 2011-11-14 09:13:06 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3638 omx: Add XXX to the nOffset reset hack comment for QCOM
3640 2011-11-10 15:18:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3642 * omx/gstomxaudioenc.c:
3643 omxaudioenc: Make srcpad caps setting threadsafe
3645 2011-11-10 15:17:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3647 * omx/gstomxvideoenc.c:
3648 omxvideoenc: Make srcpad caps setting threadsafe
3650 2011-11-10 15:17:41 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3652 * omx/gstomxvideodec.c:
3653 omxvideodec: Make srcpad caps setting threadsafe
3655 2011-11-10 15:10:14 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3657 * omx/gstomxaudioenc.c:
3658 omxaudioenc: Make the srcpad task and the sinkpad streaming thread handling threadsafe
3660 2011-11-10 15:03:05 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3662 * omx/gstomxaudioenc.c:
3663 omxaudioenc: Always flush the ports and make sure no processing is happening in ::flush
3664 This fixes a race condition that happened when seeking
3665 very often in a short period of time.
3667 2011-11-10 15:02:22 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3669 * omx/gstomxvideoenc.c:
3670 omxvideoenc: Always flush the ports and make sure no processing is happening in ::reset
3671 This fixes a race condition that happened when seeking
3672 very often in a short period of time.
3674 2011-11-10 15:01:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3676 * omx/gstomxvideoenc.c:
3677 omxvideoenc: Fix minor race condition when draining after upstream signalled EOS
3679 2011-11-10 14:56:19 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3681 * omx/gstomxaudioenc.c:
3682 omxaudioenc: Improve EOS handling
3683 If downstream return UNEXPECTED we should still signal the
3684 drain cond because nothing will trigger this again later.
3686 2011-11-10 14:56:11 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3688 * omx/gstomxvideoenc.c:
3689 omxvideoenc: Improve EOS handling
3690 If downstream return UNEXPECTED we should still signal the
3691 drain cond because nothing will trigger this again later.
3693 2011-11-10 14:54:33 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3695 * omx/gstomxaudioenc.c:
3696 omxaudioenc: Improve debugging of EOS and draining
3698 2011-11-10 14:54:17 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3700 * omx/gstomxvideoenc.c:
3701 omxvideoenc: Improve debugging of EOS and draining
3703 2011-11-10 14:51:06 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3705 * omx/gstomxvideodec.c:
3706 omxvideodec: Log if acquiring buffer for EOS failed
3708 2011-11-10 14:42:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3710 * omx/gstomxvideodec.c:
3711 omxvideodec: The component is not started in READY
3713 2011-11-10 14:39:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3715 * omx/gstomxaudioenc.c:
3716 omxaudioenc: No need to signal the drain cond when going from READY to PAUSED
3717 Also the component is not started in READY
3719 2011-11-10 14:40:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3721 * omx/gstomxvideoenc.c:
3722 omxvideoenc: No need to signal the drain cond when going from READY to PAUSED
3723 Also the component is not started in READY.
3725 2011-11-09 15:46:02 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3727 * omx/gstomxvideodec.c:
3728 omxvideodec: Always flush the ports and make sure no processing is happening in ::reset
3729 This fixes a race condition that happened when seeking
3730 very often in a short period of time.
3732 2011-11-09 15:45:20 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3734 * omx/gstomxvideodec.c:
3735 omxvideodec: Fix minor race condition when draining after upstream signalled EOS
3737 2011-11-09 15:44:11 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3739 * omx/gstomxvideodec.c:
3740 omxvideodec: Improve EOS handling
3741 If downstream return UNEXPECTED we should still signal the
3742 drain cond because nothing will trigger this again later.
3744 2011-11-09 15:43:32 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3746 * omx/gstomxvideodec.c:
3747 omxvideodec: Improve debugging of EOS and draining
3749 2011-11-09 15:42:46 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3751 * omx/gstomxvideodec.c:
3752 omxvideodec: The component is not started already when going from READY to PAUSED
3754 2011-11-09 15:42:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3756 * omx/gstomxvideodec.c:
3757 omxvideodec: No need to signal the drain cond when going from READY to PAUSED
3759 2011-11-09 15:41:02 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3762 omx: Always reset buffer flags for output ports, even in flushing/error state
3764 2011-11-09 09:00:57 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3766 * omx/gstomxvideodec.c:
3767 omxvideodec: Improve debugging in case of QoS-related frame drops
3769 2011-11-08 12:46:31 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3771 * omx/gstomxvideoenc.c:
3772 omxvideoenc: Release the video codec stream lock before acquiring an input buffer
3773 Otherwise the srcpad task might block on this lock and
3774 no buffers ever become available again.
3776 2011-11-08 12:45:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3778 * omx/gstomxaudioenc.c:
3779 omxaudioenc: Release the audio encoder stream lock before acquiring an input buffer
3780 Otherwise the srcpad task might block on this lock and
3781 no buffers ever become available again.
3783 2011-11-08 12:42:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3785 * omx/gstomxvideodec.c:
3786 omxvideodec: Release the video codec stream lock before acquiring an input buffer
3787 Otherwise the srcpad task might block on this lock and
3788 no buffers ever become available again.
3790 2011-11-08 11:07:01 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3792 * omx/gstomxaudioenc.c:
3793 * omx/gstomxaudioenc.h:
3794 omxaudioenc: Don't try to drain the component after EOS
3795 And don't send EOS twice in any case. This most likely
3796 will cause the component to not output it again and
3797 is not necessary anyway.
3799 2011-11-08 11:03:29 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3801 * omx/gstomxvideoenc.c:
3802 * omx/gstomxvideoenc.h:
3803 omxvideoenc: Don't try to drain the component after EOS
3804 And don't send EOS twice in any case. This most likely
3805 will cause the component to not output it again and
3806 is not necessary anyway.
3808 2011-11-08 10:46:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3810 * omx/gstomxvideodec.c:
3811 * omx/gstomxvideodec.h:
3812 omxvideodec: Don't try to drain the component after EOS
3813 And don't send EOS twice in any case. This most likely
3814 will cause the component to not output it again and
3815 is not necessary anyway.
3817 2011-11-08 09:09:28 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3819 * omx/gstomxvideodec.c:
3820 omxvideodec: Implement dropping of too late frames via QoS
3822 2011-11-08 08:31:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3824 * omx/gstomxaudioenc.c:
3825 omxaudioenc: Minor code refactoring
3827 2011-11-08 08:31:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3829 * omx/gstomxvideoenc.c:
3830 omxvideoenc: Minor code refactoring
3832 2011-11-08 08:31:32 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3834 * omx/gstomxvideodec.c:
3835 omxvideodec: Make sure to always release buffers back to OMX
3837 2011-11-08 08:24:19 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3840 omx: Also properly release buffers when in error state
3842 2011-11-08 08:22:08 +0100 Jonas Larsson <Jonas.Larsson@palm.com>
3845 omx: Properly release buffers during flushing
3846 We can't pass them back to OMX_FillThisBuffer() or OMX_EmptyThisBuffer()
3847 but instead of doing nothing we have to put them back into our queue.
3848 Otherwise the buffer is leaked and we will have too few buffers in
3851 2011-11-07 14:00:47 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3853 * omx/gstomxvideodec.c:
3854 omxvideodec: Free pending frames after draining component
3856 2011-11-07 14:00:35 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3858 * omx/gstomxvideoenc.c:
3859 omxvideoenc: Free pending frames after draining the component
3861 2011-11-07 11:07:01 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3863 * omx/gstomxvideoenc.c:
3864 omxvideoenc: Make handling and usage of the base video codec frames threadsafe
3866 2011-11-07 11:05:29 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3868 * omx/gstomxvideoenc.c:
3869 omxvideoenc: Fix deadlock between srcpad stream lock and ::reset()
3871 2011-11-07 11:04:27 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3873 * omx/gstomxvideodec.c:
3874 omxvideoenc: Make handling and usage of the base video codec frames threadsafe
3876 2011-11-07 10:58:44 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3878 * omx/gstomxvideoenc.c:
3879 omxvideoenc: Free all pending frames after draining the component
3881 2011-11-07 10:58:24 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3883 * omx/gstomxvideodec.c:
3884 omxvideodec: Always free all pending frames when caps changes require reconfiguration
3886 2011-11-04 09:43:48 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3888 * omx/gstomxaudioenc.c:
3889 omxaudioenc: Only drain the component a single time and only after processing started
3891 2011-11-04 09:43:32 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3893 * omx/gstomxvideodec.c:
3894 omxvideodec: Only drain the component a single time and only after processing started
3896 2011-11-04 09:43:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3898 * omx/gstomxvideoenc.c:
3899 omxvideoenc: Only drain the component a single time and only after processing started
3901 2011-11-04 09:04:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3904 omx: Reset buffer flags to 0 after it was consumed by the component or the element
3905 Some implementations don't reset the flags and the standard is not
3906 really clear on the expected behaviour. Let's just always reset the
3907 flags as they're not valid at this point anymore.
3909 2011-11-02 13:50:14 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3911 * omx/gstomxvideoenc.c:
3912 * omx/gstomxvideoenc.h:
3913 omxvideoenc: Better handling of encoder parameters
3914 Only set them if necessary and allow to use the component
3917 2011-11-02 13:22:50 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3919 * omx/gstomxvideoenc.c:
3920 omxvideoenc: Make unsupported bitrate/quantizer settings less fatal
3922 2011-11-02 10:39:50 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3924 * omx/gstomxvideodec.c:
3925 omxvideodec: If no stride was set for the OMX output port assume GStreamer stride
3926 This is not really correct but there's nothing else we could do.
3928 2011-11-02 10:39:10 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3930 * omx/gstomxvideoenc.c:
3931 omxvideoenc: If no stride was set for the OMX input port assume GStreamer stride
3932 This is not really correct but there's nothing else we could do.
3934 2011-11-01 16:46:09 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3936 * omx/gstomxaudioenc.c:
3937 * omx/gstomxaudioenc.h:
3938 omxaudioenc: Implement draining of the component and use it
3939 This makes sure that all buffers are encoded and pushed downstream
3940 before flushing the ports and losing some buffers.
3942 2011-11-01 16:41:46 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3944 * omx/gstomxvideoenc.c:
3945 * omx/gstomxvideoenc.h:
3946 omxvideoenc: Implement draining of the component and use it
3947 This makes sure that all buffers are encoded and pushed downstream
3948 before flushing the ports and losing some buffers.
3950 2011-11-01 16:08:59 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3952 * omx/gstomxvideodec.c:
3953 * omx/gstomxvideodec.h:
3954 omxvideodec: Implement draining of the component and use it
3955 This makes sure that all buffers are decoded and pushed downstream
3956 before flushing the ports and losing some buffers.
3958 2011-10-20 14:32:40 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3960 * omx/gstomxvideodec.c:
3961 omxvideodec: Fix deadlock if ::reset is called before finding the corresponding frame of a decoded buffer
3963 2011-11-01 15:10:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3965 * omx/gstomxaudioenc.c:
3966 * omx/gstomxaudioenc.h:
3967 * omx/gstomxvideoenc.h:
3968 omxaudioenc: Forward downstream flow returns to upstream
3970 2011-11-01 15:10:01 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3972 * omx/gstomxvideoenc.c:
3973 omxvideoenc: Forward downstream flow returns to upstream
3975 2011-11-01 13:58:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3977 * omx/gstomxvideodec.c:
3978 * omx/gstomxvideodec.h:
3979 omxvideodec: Forward downstream flow returns to upstream
3981 2011-10-25 14:23:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3984 omx: Add minimal README file
3986 2011-10-20 15:21:07 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3988 * omx/gstomxvideodec.c:
3989 omxvideodec: Fix deadlock caused by calling reset while the loop function does something with the base video codec stream lock
3991 2011-10-20 15:20:47 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3993 * omx/gstomxvideoenc.c:
3994 omxvideoenc: Fix deadlock caused by calling reset while the loop function does something with the base video codec stream lock
3996 2011-10-20 14:30:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3998 * omx/gstomxvideodec.c:
3999 omxvideodec: Move locking at the correct place
4001 2011-10-14 10:27:47 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4005 omx: Remove QCOM hack to reset nOffset in EmptyBufferDone
4006 This is now done in a generic way that does not require any
4007 hacks because it will work without any side effects on any
4010 2011-10-14 10:26:00 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4013 omx: Reset nOffset to 0 in EmptyBufferDone if nFilledLen is 0
4014 Some OMX implementations don't reset nOffset when the complete
4015 buffer is emptied but instead only reset nFilledLen. We reset
4016 nOffset to 0 if nFilledLen == 0, which is safe to do because
4017 the offset *must* be 0 if the buffer is not filled at all.
4018 Seen in QCOM's OMX implementation.
4020 2011-10-04 10:56:33 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4022 * omx/gstomxvideoenc.c:
4023 omxvideoenc: If one parameter/configuration is not supported don't skip the next
4025 2011-10-03 09:12:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4027 * omx/gstomxh264dec.c:
4028 omxh264dec: Require stream-format=byte-stream
4029 Other stream-formats are unlikely to be supported by OMX components.
4031 2011-09-29 10:37:32 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4033 * omx/gstomxvideodec.c:
4034 * omx/gstomxvideodec.h:
4035 omxvideodec: Add API for subclasses to prepare/convert frames
4037 2011-09-27 15:08:54 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4039 * omx/gstomxaudioenc.c:
4040 omxaudioenc: Switch to Idle first and wait before switching to Loaded and deallocating buffers
4041 Allocating buffers before the Idle state is reached can lead to crashes.
4043 2011-09-27 15:08:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4045 * omx/gstomxvideoenc.c:
4046 omxvideoenc: Switch to Idle first and wait before switching to Loaded and deallocating buffers
4047 Allocating buffers before the Idle state is reached can lead to crashes.
4049 2011-09-27 15:05:19 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4051 * omx/gstomxvideodec.c:
4052 omxvideodec: Switch to Idle first and wait before switching to Loaded and deallocating buffers
4053 Allocating buffers before the Idle state is reached can lead to crashes.
4055 2011-09-27 14:15:06 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4059 * omx/gstomxvideodec.c:
4060 omxvideodec: New hack for QCOM to recreate the component instead of reconfiguring it on caps changes
4062 2011-09-27 12:13:56 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4065 omx: Change a g_assert() into a GST_WARNING_OBJECT()
4067 2011-09-26 13:04:18 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4071 omx: Add hack for Qualcomm's OMX implementation to manually reset nOffset in EmptyBufferDone
4073 2011-09-23 17:02:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4075 * omx/gstomxaudioenc.c:
4076 omxaudioenc: Add a check to prevent a zero-sized OMX buffer
4078 2011-09-23 17:02:19 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4080 * omx/gstomxvideoenc.c:
4081 omxvideoenc: Add some more checks for correct OMX buffer sizes
4083 2011-09-23 15:53:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4085 * omx/gstomxvideodec.c:
4086 omxvideodec: Add some more checks for OMX buffer sizes
4088 2011-09-14 10:15:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4092 * omx/gstomxaudioenc.c:
4093 * omx/gstomxvideodec.c:
4094 * omx/gstomxvideoenc.c:
4095 omx: Wait until the Executing state is reached before calling OMX_FillThisBuffer()
4096 This correctly works around the QCOM race condition that happens when calling
4097 FTB after setting the new state and before reaching it.
4099 2011-09-02 14:43:43 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4101 * omx/gstomxvideodec.c:
4102 omxvideodec: Negotiate video format with downstream and what the component claims to support
4104 2011-08-25 19:56:58 +0100 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
4106 * omx/gstbasevideoencoder.c:
4107 basevideoencoder: fix element leak
4108 and this concludes an hour of yelling at the bloody test failing,
4109 only to track down the problem not being in the test.
4110 https://bugzilla.gnome.org/show_bug.cgi?id=657368
4112 2011-08-19 09:20:39 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4114 * omx/gstomxvideoenc.c:
4115 omxvideoenc: Release basevideocodec stream lock while waiting for a buffer
4116 This prevents deadlocks if no empty input buffers are available and
4117 releasing input buffers requires the loop function to handle some
4118 output buffers first.
4120 2011-08-19 09:19:22 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4122 * omx/gstomxvideodec.c:
4123 omxvideodec: Release basevideocodec stream lock while waiting for a buffer
4124 This prevents deadlocks if no empty input buffers are available and
4125 releasing input buffers requires the loop function to handle some
4126 output buffers first.
4128 2011-08-18 10:24:26 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4130 * omx/gstbasevideodecoder.c:
4131 basevideodecoder: Fix deadlock
4133 2011-08-18 10:03:20 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4135 * omx/gstbaseaudiodecoder.c:
4136 baseaudiodecoder: Don't take the stream lock in the seek handler
4137 This will lead to deadlocks
4139 2011-08-18 10:02:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4141 * omx/gstbasevideocodec.c:
4142 * omx/gstbasevideocodec.h:
4143 * omx/gstbasevideodecoder.c:
4144 * omx/gstbasevideoencoder.c:
4145 basevideo: Fix locking, especially if both pads have different streaming threads
4147 2011-08-18 09:42:02 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4149 * omx/gstbasevideodecoder.c:
4150 * omx/gstbasevideoencoder.c:
4151 basevideo: Don't call g_type_class_peek_parent() in class_init
4152 This is already done by the GObject boilerplate macro
4154 2011-08-18 09:40:46 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4156 * omx/gstbaseaudiodecoder.c:
4157 baseaudiodecoder: Don't call g_type_class_peek_parent() in class_init
4158 This is already done by the boilerplate macro
4160 2011-08-18 09:34:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4162 * omx/gstbaseaudiodecoder.c:
4163 * omx/gstbaseaudiodecoder.h:
4164 baseaudiodecoder: Fix thread safety issues if both pads have different streaming threads
4166 2011-08-18 09:17:04 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4168 * omx/gstbaseaudiodecoder.c:
4169 baseaudiodecoder: Delay sending of serialized events to finish_frame()
4171 2011-08-17 14:33:31 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4173 * omx/gstomxaudioenc.c:
4174 omxaudioenc: Always require at least OMX_MIN_PCMPAYLOAD_MSEC per input buffer
4176 2011-08-17 14:28:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4178 * omx/gstbaseaudioencoder.c:
4179 * omx/gstbaseaudioencoder.h:
4180 baseaudioencoder: Add support for requesting a minimum and maximum number of samples per frame
4181 This extends the special case of a fixed number of samples per frame
4182 that was supported before already.
4184 2011-08-17 14:17:18 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4186 * omx/gstomxaudioenc.c:
4187 omxaudioenc: Handle inbuf==NULL properly in ::handle_frame()
4189 2011-08-17 13:04:19 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4191 * omx/gstomxaacenc.c:
4192 omxaacenc: Implement ::get_num_samples() vfunc
4194 2011-08-17 13:03:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4196 * omx/gstomxaudioenc.c:
4197 * omx/gstomxaudioenc.h:
4198 omxaudioenc: Add vfunc to get the number of samples inside a buffer
4200 2011-08-17 11:34:31 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4202 * omx/gstomxaudioenc.c:
4203 omxaudioenc: Release baseaudioencoder stream lock while waiting for a buffer in ::handle_frame()
4204 This prevents deadlocks if no empty input buffers are available and
4205 releasing input buffers requires the loop function to handle some
4206 output buffers first.
4208 2011-08-17 11:34:04 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4210 * omx/gstbaseaudioencoder.c:
4211 * omx/gstbaseaudioencoder.h:
4212 baseaudioencoder: Fix thread safety issues if both pads have different streaming threads
4214 2011-08-17 09:58:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4216 * omx/gstbaseaudioencoder.c:
4217 baseaudioencoder: Taking the OBJECT lock in reset() is not needed
4219 2011-08-16 11:03:24 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4221 * omx/gstomxaudioenc.c:
4222 omxaudioenc: Remove hack that only applies to the video encoder class
4224 2011-08-16 10:49:21 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4229 * omx/gstomxaacenc.c:
4230 * omx/gstomxaacenc.h:
4231 omxaacenc: Add initial version of OpenMAX AAC encoder element
4233 2011-08-15 15:10:04 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4236 * omx/gstomxaudioenc.c:
4237 * omx/gstomxaudioenc.h:
4238 omxaudioenc: Add initial version of audio encoder base class
4240 2011-08-15 14:14:11 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4242 * omx/gstbaseaudioencoder.c:
4243 baseaudioencoder: Delay sending of serialized events to finish_frame()
4245 2011-08-15 13:06:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4248 * omx/gstbaseaudiodecoder.c:
4249 * omx/gstbaseaudiodecoder.h:
4250 * omx/gstbaseaudioencoder.c:
4251 * omx/gstbaseaudioencoder.h:
4252 audio: Integrate audio base classes into the build system and fixup
4254 2011-08-15 12:56:00 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4256 * omx/gstbaseaudiodecoder.c:
4257 * omx/gstbaseaudiodecoder.h:
4258 * omx/gstbaseaudioencoder.c:
4259 * omx/gstbaseaudioencoder.h:
4260 * omx/gstbaseaudioutils.c:
4261 * omx/gstbaseaudioutils.h:
4262 audio: Add audio decoder/encoder base classes
4263 Taken from http://cgit.collabora.com/git/user/manauw/gst-plugins-bad.git/log/?h=baseaudio
4265 2011-08-12 12:25:03 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4267 * omx/gstbasevideoencoder.c:
4268 basevideoencoder: Proxy the width/height/framerate/PAR constraints of downstream caps to upstream
4269 This allows to specify constraints on the compressed downstream caps
4270 by muxers or capsfilters, which will then be forwarded to upstream
4271 and allows video converters to fulfill the constraints.
4272 Code based on Mark Nauwelaerts audio encoder base class.
4274 2011-08-12 12:13:45 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4276 * omx/gstbasevideoencoder.h:
4277 basevideoencoder: Remove old ::getcaps() comment
4279 2011-08-12 12:06:23 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4281 * omx/gstbasevideoencoder.c:
4282 * omx/gstbasevideoencoder.h:
4283 basevideoencoder: Remove ::get_caps() vfunc
4284 Subclasses can set the caps more efficiently and this only
4285 caused additional indirections.
4287 2011-08-10 10:24:21 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4289 * omx/gstomxh263enc.c:
4290 * omx/gstomxh264enc.c:
4291 * omx/gstomxmpeg4videoenc.c:
4292 * omx/gstomxvideoenc.c:
4293 omxvideoenc: Use "video/x-raw-yuv" as sink template caps instead of strict I420 caps
4295 2011-08-10 10:23:39 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4297 * omx/gstomxmpeg4videodec.c:
4298 omxmpeg4videodec: Don't require width/height on sink pad caps
4300 2011-08-10 10:11:37 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4302 * omx/gstomxh263dec.c:
4303 * omx/gstomxh264dec.c:
4304 * omx/gstomxmpeg4videodec.c:
4305 * omx/gstomxvideodec.c:
4306 * omx/gstomxwmvdec.c:
4307 omxvideodec: Use "video/x-raw-yuv" as src template caps instead of strict I420 caps
4309 2011-08-10 09:56:30 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4311 * omx/gstomxvideoenc.c:
4312 omxvideoenc: Set the state back to StateLoaded even if an error happened
4314 2011-08-10 09:49:57 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4317 omx: Don't hold any locks while calling OMX_SendCommand()
4318 It might call into one of the callbacks and lead to deadlocks, e.g.
4319 with the Qualcomm OMX implementation.
4321 2011-08-10 09:32:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4326 2011-08-10 09:23:10 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4329 omx: Reset pending reconfigure output ports when changing the state from Executing to any lower state
4331 2011-08-10 09:08:00 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4334 omx: Fix crash when setting last error after the ports were freed
4336 2011-08-10 09:03:52 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4339 omx: Free component structure
4341 2011-08-10 09:02:52 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4344 omx: Make component destruction safer
4346 2011-08-10 08:53:05 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4349 omx: Set pAppPrivate of buffers to NULL when deallocating buffers
4350 This prevents usage of freed memory later if the OMX component
4351 has weird behaviour.
4353 2011-08-10 08:52:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4355 * omx/gstomxvideodec.c:
4356 omxvideodec: Set the state back to StateLoaded even if an error happened
4358 2011-08-10 08:51:54 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4361 omx: Add some assertions to check if the buffer pAppPrivate is still correct
4363 2011-08-08 13:04:30 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4366 omx: Add parenthesis at correct places in the struct init macro
4368 2011-08-08 12:12:58 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4371 omx: Only prevent setting a higher state if the component is in an error state
4373 2011-08-03 16:02:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4375 * omx/gstbasevideodecoder.c:
4376 basevideodecoder: Use the cached video frame size instead of recalculating it
4378 2011-08-03 15:35:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4381 omx: Improve debugging in param/config getter/setter wrappers
4383 2011-08-03 13:10:33 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4385 * omx/gstomxvideodec.c:
4386 omxvideodec: Don't abort if the color format is not supported but give a useful error message
4388 2011-08-02 15:14:37 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4390 * omx/gstomxh263enc.c:
4391 * omx/gstomxh264enc.c:
4392 * omx/gstomxmpeg4videoenc.c:
4393 * omx/gstomxvideoenc.c:
4394 omxvideoenc: Don't fail if setting the bitrate or profile is not supported by the component
4395 Also always set/get the profile, even if there are no peer caps.
4397 2011-08-02 15:14:24 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4399 * omx/gstbasevideoencoder.c:
4400 basevideoencoder: Make access to the list of frames threadsafe
4402 2011-08-01 13:22:05 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4406 omx: Add a hacks flag for the Qualcomm 7x30 OMX_FillThisBuffer() race and make it optional
4408 2011-07-29 13:56:59 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4411 omx: Add workaround for QCOM 7x30 race condition
4413 2011-07-29 12:06:21 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4417 * omx/gstomxh263enc.c:
4418 * omx/gstomxh263enc.h:
4419 omxh263enc: Add H.263 encoder element
4421 2011-07-29 11:26:39 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4423 * omx/gstomxmpeg4videoenc.c:
4424 omxmpeg4videoenc: Add support for setting profile/level via caps
4426 2011-07-28 14:14:45 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4428 * omx/gstomxh264enc.c:
4429 omxh264enc: Add support for setting profile/level via caps
4431 2011-07-28 12:58:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4433 * omx/gstomxvideoenc.c:
4434 omxvideoenc: Add support for forcing the next frame to be a keyframe
4436 2011-07-28 11:54:16 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4438 * omx/gstomxvideoenc.c:
4439 * omx/gstomxvideoenc.h:
4440 omxvideoenc: Add support for setting bitrate/quantization related parameters
4442 2011-07-28 10:23:08 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4446 omx: Add wrapper functions for OMX_[GS]et{Config,Parameter}
4448 2011-07-28 09:54:53 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4452 omx: Add macro to initialize OpenMAX structures
4454 2011-07-28 09:08:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4456 * omx/gstomxvideoenc.c:
4457 omxvideoenc: Don't output 0-byte buffers
4459 2011-07-25 15:05:08 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4462 omx: Ensure that the pAppPrivate pointer in OMX buffers is set correctly
4464 2011-07-25 13:19:06 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4466 * omx/gstomxvideodec.c:
4467 * omx/gstomxvideoenc.c:
4468 omxvideo{enc,dec}: Only set/unset flushing state on ports if they were created already
4470 2011-07-25 12:01:05 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4474 * omx/gstomxwmvdec.c:
4475 * omx/gstomxwmvdec.h:
4476 omxwmvdec: Add WMV video decoder element
4478 2011-07-25 11:44:56 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4482 * omx/gstomxh263dec.c:
4483 * omx/gstomxh263dec.h:
4484 omxh263dec: Add H.263 decoder element
4486 2011-07-25 11:32:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4490 * omx/gstomxh264enc.c:
4491 * omx/gstomxh264enc.h:
4492 omxh264enc: Add H.264 encoder element
4494 2011-07-25 10:48:58 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4496 * omx/gstomxvideodec.c:
4497 omxvideodec: Try harder to deallocate the buffers after errors happened
4499 2011-07-25 10:47:28 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4501 * omx/gstomxvideoenc.c:
4502 omxvideoenc: Try harder to deallocate the buffers after errors happened
4504 2011-07-25 10:46:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4507 omx: Deallocate port buffers before freeing the component
4508 They should be deallocated by the caller before reaching the
4509 Loaded state but to be on the safe side we will make sure
4510 they're really deallocated here.
4512 2011-07-21 11:15:14 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4514 * omx/gstomxvideoenc.c:
4515 omxvideoenc: Add initial support for stride conversion
4517 2011-07-21 10:38:26 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4519 * omx/gstomxh264dec.c:
4520 * omx/gstomxmpeg4videodec.c:
4521 * omx/gstomxmpeg4videoenc.c:
4522 omx: Set default roles for the components if none were set from the config file
4524 2011-07-21 10:36:19 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4527 omx: Failure to set the component role is fatal
4529 2011-07-21 07:53:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4531 * omx/gstomxvideoenc.c:
4532 omxvideoenc: Add support for setting codec_data on the srcpad caps
4534 2011-07-21 07:44:34 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4536 * omx/gstomxvideoenc.c:
4537 omxvideoenc: Free/drop GstVideoFrames that resulted in an empty buffer
4539 2011-07-21 07:44:10 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4541 * omx/gstbasevideoencoder.c:
4542 basevideoencoder: Allow finishing of frames with no src_buffer to drop/free the GstVideoFrame
4544 2011-07-21 07:31:05 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4546 * omx/gstomxvideoenc.c:
4547 omxvideoenc: Remove obsolete TODO comment
4549 2011-07-20 11:09:54 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4553 omx: Use libgstopenmax.so for the plugin filename and openmax for the plugin name
4554 Resolves conflicts with gst-openmax.
4556 2011-07-20 08:34:33 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4562 * omx/gstomxmpeg4videoenc.c:
4563 * omx/gstomxmpeg4videoenc.h:
4564 * omx/gstomxvideoenc.c:
4565 * omx/gstomxvideoenc.h:
4566 omxvideoenc: Add video encoder base class and MPEG4 video encoder
4567 Unfortunately requires lots of hacks again to work properly with
4570 2011-07-20 10:39:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4572 * omx/gstbasevideoencoder.c:
4573 basevideoencoder: Only get caps from the subclass if they were not set yet by the subclass
4575 2011-07-20 09:25:28 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4577 * omx/gstbasevideoencoder.c:
4578 * omx/gstbasevideoencoder.h:
4579 basevideoencoder: Delay sending of serialized sink events until finish_frame()
4581 2011-07-20 09:09:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4583 * omx/gstbasevideoencoder.c:
4584 * omx/gstbasevideoencoder.h:
4585 basevideoencoder: Add ::reset vfunc and handle ::reset/::finish the same way as in the decoder
4587 2011-07-19 12:50:43 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4589 * omx/gstbasevideoencoder.c:
4590 basevideoencoder: Use a temporary GstVideoState until the subclass accepted the caps
4591 Also store the caps in the GstVideoState and assume a PAR of 1/1 instead
4592 of 0/1 if no PAR is specified in the caps.
4594 2011-07-19 12:29:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4597 * omx/gstomxvideodec.c:
4598 omx: Improve debug output a bit
4600 2011-07-19 10:33:54 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4604 * omx/gstomxvideodec.c:
4605 omx: Rework port reconfiguration again and only use the Bellagio specific hacks with Bellagio
4606 We only reconfigure ports that need to be reconfigured now instead of
4609 2011-07-19 10:33:15 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4614 * omx/gstomxvideodec.c:
4615 * omx/gstomxvideodec.h:
4616 omx: Add infrastructure to enable special hacks for broken OpenMAX implementations
4618 2011-07-18 13:10:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4621 omx: When acquiring a buffer from an input port always wait until all output ports are reconfigured
4623 2011-07-18 08:41:20 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4625 * omx/gstomxvideodec.c:
4626 omxvideodec: Add support for converting between omx and gst rowstrides
4628 2011-07-14 10:34:09 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4631 omx: Provide all buffers to output ports after enabling them
4633 2011-07-14 08:29:03 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4635 * omx/gstomxvideodec.c:
4636 omxvideodec: Add support for NV12 / OMX_COLOR_FormatYUV420SemiPlanar
4638 2011-07-14 07:58:41 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4640 * omx/gstomxvideodec.c:
4641 * omx/gstomxvideodec.h:
4642 omxvideodec: Only flush the component ports after we passed input to them
4644 2011-07-13 21:19:34 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4646 * omx/gstomxvideodec.c:
4647 omxvideodec: Only change states downwards if an upper state was reached
4649 2011-07-13 20:37:02 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4653 * omx/gstomxvideodec.c:
4654 * omx/gstomxvideodec.h:
4655 omx: Add support for setting the component-role
4657 2011-07-13 20:22:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4661 * omx/gstomxvideodec.c:
4662 omx: Improve error reporting by formatting the error codes better and also providing their string representation
4664 2011-07-13 14:36:14 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4667 build: Dist autogen.sh
4669 2011-07-13 14:35:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4673 build: Only require GStreamer >= 0.10.29 and GLib >= 2.16
4675 2011-07-13 14:04:47 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4678 build: Dist gstomx.conf
4680 2011-07-13 14:04:20 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4683 build: Clean _stdint.h on "make distclean"
4685 2011-07-13 14:02:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4687 * omx/gstomxvideodec.c:
4688 omxvideodec: Fix typo
4690 2011-07-13 13:59:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4695 2011-07-13 12:46:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4697 * omx/gstomxvideodec.c:
4698 omxvideodec: Set SYNCFRAME flag on the OMX buffers for non-delta units
4700 2011-07-13 12:37:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4702 * omx/gstomxvideodec.c:
4703 omxvideodec: Free all pending frames when resetting the decoder
4704 Workaround for https://bugzilla.gnome.org/show_bug.cgi?id=654529
4706 2011-07-13 09:59:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4708 * omx/gstomxvideodec.c:
4709 omxvideodec: Handle output buffers without a corresponding GstVideoFrame more gracefully
4710 This can happen on EOS in some cases and when the input is not
4713 2011-07-13 09:31:22 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4715 * omx/gstomxvideodec.c:
4716 omxvideodec: Fix deadlock when finishing old frames that are left over by the decoder
4718 2011-07-12 11:37:28 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4720 * omx/gstomxh264dec.c:
4721 omxh264dec: It's called H.264, not H264
4723 2011-07-12 11:36:42 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4725 * omx/gstomxh264dec.c:
4726 * omx/gstomxmpeg4videodec.c:
4727 * omx/gstomxvideodec.c:
4728 * omx/gstomxvideodec.h:
4729 omxvideodec: Make sink/src pad template caps configurable
4731 2011-07-12 11:13:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4734 omx: Allow to set a preferred configuration directory with the GST_OMX_CONFIG_DIR environment variable
4736 2011-07-12 10:55:57 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4738 * omx/gstomxh264dec.c:
4739 * omx/gstomxmpeg4videodec.c:
4740 * omx/gstomxvideodec.c:
4741 omxvideodec: Make core/component-name and in/outport index configurable
4743 2011-07-12 10:05:31 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4748 omx: Add initial version of configuration system
4749 This now only registers elements that are specified in the
4751 The configuration file is a keyfile in the first XDG configuration
4752 directory with the name gstomx.conf.
4754 2011-07-12 08:53:15 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4758 * omx/gstomxh264dec.c:
4759 * omx/gstomxh264dec.h:
4760 * omx/gstomxh264videodec.h:
4761 omxh264dec: Rename from omxh264videodec to omxh264dec
4763 2011-07-12 08:40:48 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4765 * omx/gstomxh264videodec.c:
4766 omxh264videodec: Require alignment=au and stream-format={avc,bytestream}
4768 2011-07-11 12:59:07 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4770 * omx/gstbasevideodecoder.c:
4771 basevideodecoder: First inform subclass about resetting before resetting/freeing all internal state
4772 The subclass might want to access the old state.
4774 2011-07-11 12:36:42 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4776 * omx/gstbasevideodecoder.c:
4777 basevideodecoder: Track present position on discont before resetting it
4779 2011-07-11 11:52:33 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4781 * omx/gstbasevideodecoder.c:
4782 basevideodecoder: Also protect the list of pending frames from concurrent access when pushing all pendings events
4784 2011-07-11 11:28:40 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4786 * omx/gstbasevideocodec.c:
4787 * omx/gstbasevideocodec.h:
4788 * omx/gstbasevideodecoder.c:
4789 basevideocodec: Protect access to the list of pending frames with the object lock
4790 This is required if ::finish_frame() and all buffer output happens
4791 on a different thread than the sinkpad streaming thread.
4793 2011-07-11 09:35:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4795 * omx/gstbasevideodecoder.c:
4796 basevideodecoder: Set the correct lists to NULL after freeing
4798 2011-07-11 08:54:53 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4800 * omx/gstbasevideodecoder.c:
4801 basevideodecoder: Work with a copy of the GstVideoState in setcaps until the caps are accepted
4802 Also fix a refcount problem with the codec_data.
4804 2011-07-12 08:34:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4808 * omx/gstomxh264videodec.c:
4809 * omx/gstomxh264videodec.h:
4810 omxh264videodec: Add h.264 video decoder
4812 2011-07-12 08:29:15 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4814 * omx/gstomxmpeg4videodec.c:
4815 omxmpeg4videodec: Fix debug category name
4817 2011-07-09 11:41:42 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4820 * omx/gstbasevideocodec.h:
4821 * omx/gstbasevideodecoder.c:
4822 * omx/gstbasevideoencoder.c:
4823 * omx/gstbasevideoutils.c:
4824 * omx/gstbasevideoutils.h:
4825 basevideo: Move the utils from the codec header to its own header
4827 2011-07-09 11:32:06 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4829 * omx/gstbasevideocodec.c:
4830 * omx/gstbasevideodecoder.c:
4831 basevideo: Use GSlice for allocating GstVideoFrame and don't duplicate code in the decoder base class
4833 2011-07-09 11:05:37 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4835 * omx/gstomxvideodec.c:
4836 omxvideodec: Use the destroy notify to free the coder_hook
4838 2011-07-09 10:57:52 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4840 * omx/gstbasevideocodec.c:
4841 * omx/gstbasevideocodec.h:
4842 * omx/gstbasevideodecoder.c:
4843 basevideo: Add destroy notify for the coder_hook to prevent memory leaks
4846 2011-07-09 10:44:16 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4849 basevideo: Fix GType names to not conflict with the public video base classes
4850 It's still not possible to include headers of both in the same file
4851 or compile/link both into the same plugin but that shouldn't be
4854 2011-07-08 15:42:56 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4856 * omx/gstomxvideodec.c:
4857 omxvideodec: Fix some minor memory leaks
4859 2011-07-08 15:25:07 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4863 * omx/gstomxvideodec.c:
4864 omx: Rework port reconfiguration
4865 We always reconfigure all ports now if the settings of one
4866 port changes to prevent lots of race conditions, dropped
4867 frames and similar issues.
4869 2011-07-08 13:16:45 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4871 * omx/gstomxvideodec.c:
4872 * omx/gstomxvideodec.h:
4873 omxvideodec: Use the frames storage of the base class instead of implementing our own
4874 They could get out of sync and we could store already destroyed frames.
4876 2011-07-07 12:51:03 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4879 omx: Clarify GQueue/GPtrArray element types
4881 2011-07-07 12:23:24 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4885 * omx/gstomxvideodec.c:
4886 omx: Add more checks to acquire_buffer() and return the current state additional to the buffer
4887 Also refactor the code flow in the video decoder for this. This makes
4888 the usage of acquire_buffer() easier and more atomic.
4890 2011-07-07 12:22:57 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4892 * omx/gstomxvideodec.c:
4893 omxvideodec: Also flush/unflush the input port when changing the state PAUSED<->READY
4895 2011-07-07 12:21:31 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4898 omx: Don't broadcast port->port_cond after allocating buffers successfully
4899 Allocating buffers must happen while no thread is waiting for the
4900 cond and especially must happen from the thread that would acquire
4901 buffers from the port.
4903 2011-07-07 11:27:15 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4905 * omx/gstomxvideodec.c:
4906 omxvideodec: Don't leak the codec_data after sending it
4908 2011-07-07 10:27:31 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4911 omx: Always check if the component is in an error state before waiting for a condition variable to be signalled
4912 Otherwise we might wait forever because nothing is going to signal
4913 the condition variable anymore.
4915 2011-07-07 10:22:12 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4918 omx: Always hold port->port_lock before signalling port->port_cond when notifying about errors
4919 Otherwise a port might be in the critical section, has checked the error state
4920 already but waits after port->port_cond is signalled, which will lead
4923 2011-07-07 10:07:43 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4925 * omx/gstomxvideodec.c:
4926 omxvideodec: Remove reconfiguration test hack
4928 2011-07-06 13:27:12 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4931 omx: Improve debug output a bit
4933 2011-07-06 13:26:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4936 omx: Always try to deallocate buffers, even if there's a component error
4938 2011-07-06 13:26:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4941 omx: Use G_USEC_PER_SEC for clarity instead of 1000000
4943 2011-07-06 13:19:15 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4945 * omx/gstomxvideodec.c:
4946 omxvideodec: Error out if the GStreamer allocated buffer is smaller than the OpenMAX output buffer
4947 Usually this must never happen but currently it happens during reconfigurations
4948 because of a race condition. Still it's better than crashing.
4950 2011-07-06 10:40:13 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4954 omx: Don't use port_def.bEnabled to check if the Enable/Disable command is finished
4955 bEnabled should be set immediately after sending the command, it's only
4956 Bellagio that waits until the command is finished before setting it.
4958 2011-07-06 10:30:11 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4960 * omx/gstomxvideodec.c:
4961 omxvideodec: Remove obsolete FIXME comment
4963 2011-07-06 10:29:54 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4967 omx: Improve error handling and reporting
4969 2011-07-06 08:48:37 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4971 * omx/gstomxmpeg4videodec.c:
4972 * omx/gstomxvideodec.c:
4973 * omx/gstomxvideodec.h:
4974 omxvideodec: Make the inport and outport index configurable by the subclass
4976 2011-06-28 08:51:23 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4981 * omx/gstomxmpeg4videodec.c:
4982 * omx/gstomxmpeg4videodec.h:
4983 * omx/gstomxvideodec.c:
4984 * omx/gstomxvideodec.h:
4985 omx: Add initial version of OpenMAX framework, video decoder base class and MPEG4 video decoder
4986 This currently hardcodes a lot of stuff but works at least.
4987 Also adds a generic framework for handling OpenMAX cores, components
4990 2011-06-28 11:47:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4992 * omx/gstbasevideocodec.c:
4993 * omx/gstbasevideocodec.h:
4994 * omx/gstbasevideodecoder.c:
4995 * omx/gstbasevideodecoder.h:
4996 basevideodecoder: Don't reorder serialized src events
4997 And allow to drop EOS by the subclass if ::finish returns
5001 2011-06-27 09:41:40 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5003 * omx/gstbasevideocodec.c:
5004 * omx/gstbasevideocodec.h:
5005 * omx/gstbasevideodecoder.c:
5006 basevideo: Add the caps to the GstVideoState and clean up caps/codec_data properly
5008 2011-06-27 09:37:03 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5010 * omx/gstbasevideocodec.c:
5011 * omx/gstbasevideocodec.h:
5012 * omx/gstbasevideodecoder.c:
5013 * omx/gstbasevideodecoder.h:
5014 * omx/gstbasevideoencoder.c:
5015 * omx/gstbasevideoencoder.h:
5016 * omx/gstbasevideoutils.c:
5017 basevideo: Add video encoder/decoder base classes from gst-plugins-bad
5019 2011-06-21 11:17:35 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5021 * omx/openmax/OMX_Audio.h:
5022 * omx/openmax/OMX_Component.h:
5023 * omx/openmax/OMX_ComponentExt.h:
5024 * omx/openmax/OMX_ContentPipe.h:
5025 * omx/openmax/OMX_Core.h:
5026 * omx/openmax/OMX_CoreExt.h:
5027 * omx/openmax/OMX_IVCommon.h:
5028 * omx/openmax/OMX_Image.h:
5029 * omx/openmax/OMX_Index.h:
5030 * omx/openmax/OMX_IndexExt.h:
5031 * omx/openmax/OMX_Other.h:
5032 * omx/openmax/OMX_Types.h:
5033 * omx/openmax/OMX_Video.h:
5034 * omx/openmax/OMX_VideoExt.h:
5035 openmax: Add OpenMAX IL 1.1.2 headers