1 === release 1.11.91 ===
3 2017-04-27 Sebastian Dröge <slomo@coaxion.net>
8 2017-04-17 17:02:48 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
10 * omx/gstomxvideoenc.c:
11 videoenc: use GST_ROUND_UP_N() macro
12 Makes the code much easier to read and understand.
13 https://bugzilla.gnome.org/show_bug.cgi?id=781409
15 2017-04-24 20:30:21 +0100 Tim-Philipp Müller <tim@centricular.com>
18 Automatic update of common submodule
19 From 60aeef6 to 48a5d85
21 2017-04-10 23:51:00 +0100 Tim-Philipp Müller <tim@centricular.com>
25 Automatic update of common submodule
26 From 39ac2f5 to 60aeef6
28 === release 1.11.90 ===
30 2017-04-07 16:36:45 +0300 Sebastian Dröge <sebastian@centricular.com>
40 2017-04-07 14:27:23 +0300 Sebastian Dröge <sebastian@centricular.com>
42 * omx/gstomxvideoenc.c:
43 omxvideoenc: Fix compiler warning
44 gstomxvideoenc.c: In function ‘gst_omx_video_enc_fill_buffer’:
45 CC libgstomx_la-gstomxaacdec.lo
46 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=]
47 GST_LOG_OBJECT (self, "Matched strides - direct copy %u bytes",
49 outbuf->omx_buf->nFilledLen);
52 2017-03-22 17:18:09 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
55 meson: fix logic to set HAVE_THEORA
56 https://bugzilla.gnome.org/show_bug.cgi?id=780392
58 2017-03-14 03:02:06 +1100 Jan Schmidt <thaytan@noraisin.net>
60 * omx/gstomxvideoenc.c:
61 omxvideoenc: Add an unimplemented mapping for RGBA formats
62 Add some pixel formats mappings for 2 RGBA formats. Not yet
63 implemented in the buffer input code though, so no effect for now.
65 2017-03-14 03:00:49 +1100 Jan Schmidt <thaytan@noraisin.net>
69 * omx/gstomxvideoenc.c:
70 omxvideoenc: Add GST_OMX_HACK_HEIGHT_MULTIPLE_16 for Rpi
71 The Raspberry Pi encoder produces corrupt output unless
72 the input height is a multiple of 16. Add a hack that adds
73 zero padding when needed.
75 2017-03-14 02:42:15 +1100 Jan Schmidt <thaytan@noraisin.net>
77 * omx/gstomxvideoenc.c:
78 omxvideoenc: Add a mapping for OMX_COLOR_FormatYUV420PackedSemiPlanar
81 2017-03-14 02:40:24 +1100 Jan Schmidt <thaytan@noraisin.net>
83 * omx/gstomxvideoenc.c:
84 omxvideoenc: Filter out unimplemented formats
85 Don't announce pixel formats in the caps if they've not been
88 2017-03-14 02:34:36 +1100 Jan Schmidt <thaytan@noraisin.net>
90 * omx/gstomxvideodec.c:
91 omxvideodec: demote ERROR message
92 There's no need to warn about failing to negotiate EGL output
93 - that can be perfectly normal.
95 2017-02-24 16:00:29 +0200 Sebastian Dröge <sebastian@centricular.com>
100 2017-02-24 15:38:17 +0200 Sebastian Dröge <sebastian@centricular.com>
105 === release 1.11.2 ===
107 2017-02-24 15:10:17 +0200 Sebastian Dröge <sebastian@centricular.com>
116 2017-02-15 18:22:53 +0000 Tim-Philipp Müller <tim@centricular.com>
119 meson: dist meson build files
120 Ship meson build files in tarballs, so people who use tarballs
121 in their builds can start playing with meson already.
123 2017-01-13 16:23:12 +0000 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
125 * omx/gstomxaacenc.c:
126 omxaacenc: let encoder know about incoming rate/channels
127 https://bugzilla.gnome.org/show_bug.cgi?id=777223
129 2017-01-18 02:43:44 +1100 Matthew Waters <matthew@centricular.com>
131 * config/bellagio/meson.build:
132 * config/meson.build:
133 * config/rpi/meson.build:
134 * examples/egl/meson.build:
135 * examples/meson.build:
136 * hooks/pre-commit.hook:
140 build: add meson build definition
141 Currently only been tested on the RPi within gst-build.
143 2017-01-18 15:21:35 +1100 Matthew Waters <matthew@centricular.com>
145 * examples/egl/testegl.c:
146 examples/testegl: update for libgstgl changes
148 2017-01-12 16:33:09 +0200 Sebastian Dröge <sebastian@centricular.com>
153 === release 1.11.1 ===
155 2017-01-12 16:26:55 +0200 Sebastian Dröge <sebastian@centricular.com>
164 2017-01-10 15:29:08 +0000 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
166 * omx/gstomxaudioenc.c:
167 omxaudioenc: set base class format instead of just source pad caps
169 2016-12-18 19:46:55 +0000 Graham Leggett <minfrin@sharp.fm>
171 * omx/gstomxaudiodec.c:
172 * omx/gstomxvideodec.c:
173 omx*dec: Flush before we stop the srcpad loop
174 Flushing could otherwise hang if output port queue of pending buffers was empty
175 https://bugzilla.gnome.org/show_bug.cgi?id=774654
177 2016-12-14 13:29:08 -0800 Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
180 Fix broken build due to syntax error
181 Problem was introduced by 8716c23e2b0553db2982eb84c437f493c974385e
183 2016-12-12 11:12:48 +0000 Graham Leggett <minfrin@sharp.fm>
186 Prevent early EOS by resetting eos flag once GST_OMX_ACQUIRE_BUFFER_EOS is triggered
187 https://bugzilla.gnome.org/show_bug.cgi?id=774600
189 2016-12-12 11:09:15 +0000 Graham Leggett <minfrin@sharp.fm>
192 Add clear debug logging on all the paths out of gst_omx_port_acquire_buffer()
193 https://bugzilla.gnome.org/show_bug.cgi?id=774600
195 2016-12-01 18:23:50 +0100 George Kiagiadakis <george.kiagiadakis@collabora.com>
197 * config/rpi/gstomx.conf:
200 Add a signals-premature-eos hack for egl_render
201 egl_render seems to have a bug and signals EOS before it has finished
202 pushing out all data; this hack simply makes acquire_buffer() wait
203 a bit more before signalling EOS, in case egl_render decides to spit
205 https://bugzilla.gnome.org/show_bug.cgi?id=741856
207 2016-12-11 19:52:37 +0000 Graham Leggett <minfrin@sharp.fm>
210 Add support for OMX_COLOR_FormatYUV420PackedSemiPlanar and OMX_COLOR_Format24bitBGR888
211 https://bugzilla.gnome.org/show_bug.cgi?id=775959
213 2016-12-03 08:20:46 +0100 Edward Hervey <bilboed@bilboed.com>
216 Automatic update of common submodule
217 From ac2f647 to 39ac2f5
219 2016-11-26 11:27:58 +0000 Tim-Philipp Müller <tim@centricular.com>
222 common: use https protocol for common submodule
223 https://bugzilla.gnome.org/show_bug.cgi?id=775110
225 2016-11-25 23:56:06 +0200 Sebastian Dröge <sebastian@centricular.com>
228 omx: Fix compiler warning with latest clang
229 gstomx.c:1376:42: error: implicit conversion from enumeration type 'GstOMXAcquireBufferReturn' to different enumeration type 'OMX_ERRORTYPE'
230 (aka 'enum OMX_ERRORTYPE') [-Werror,-Wenum-conversion]
231 g_return_val_if_fail (!port->tunneled, GST_OMX_ACQUIRE_BUFFER_ERROR);
232 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
233 https://bugzilla.gnome.org/show_bug.cgi?id=775112
235 2016-11-17 19:56:35 +1100 Matthew Waters <matthew@centricular.com>
237 * omx/gstomxvideodec.c:
238 videodecoder: remove use of EGLImage orientation
239 New code should use GstVideoTransformationMeta
240 (The defaults do the right thing here though).
242 === release 1.11.0 ===
244 2016-11-01 18:53:25 +0200 Sebastian Dröge <sebastian@centricular.com>
249 === release 1.10.0 ===
251 2016-11-01 18:20:48 +0200 Sebastian Dröge <sebastian@centricular.com>
260 === release 1.9.90 ===
262 2016-09-30 13:04:51 +0300 Sebastian Dröge <sebastian@centricular.com>
272 2016-09-14 11:33:13 +0200 Sebastian Dröge <sebastian@centricular.com>
275 configure: Depend on gstreamer 1.9.2.1
277 2016-09-12 14:09:46 +0200 Sebastian Dröge <sebastian@centricular.com>
281 omx: Also search for gstomx.conf in the autoconf --sysconfdir
282 https://bugzilla.gnome.org/show_bug.cgi?id=770743
284 2016-09-10 20:52:10 +1000 Jan Schmidt <jan@centricular.com>
288 Automatic update of common submodule
289 From b18d820 to f980fd9
291 2016-09-10 09:58:16 +1000 Jan Schmidt <jan@centricular.com>
295 Automatic update of common submodule
296 From ac2f647 to b18d820
298 2016-09-01 12:36:09 +0300 Sebastian Dröge <sebastian@centricular.com>
303 === release 1.9.2 ===
305 2016-09-01 12:35:58 +0300 Sebastian Dröge <sebastian@centricular.com>
315 2016-07-11 21:15:48 +0200 Stefan Sauer <ensonic@users.sf.net>
318 Automatic update of common submodule
319 From ac2f647 to f49c55e
321 2016-07-06 13:51:24 +0300 Sebastian Dröge <sebastian@centricular.com>
326 === release 1.9.1 ===
328 2016-07-06 13:48:45 +0300 Sebastian Dröge <sebastian@centricular.com>
338 2016-06-29 16:37:43 +0900 Kazunori Kobayashi <kkobayas@igel.co.jp>
340 * omx/gstomxvideodec.c:
341 omxvideodec: Use GST_VIDEO_FRAME_PLANE_STRIDE() to get output buffer's stride
342 GST_VIDEO_FRAME_PLANE_STRIDE() should be used to get the actual buffer stride,
343 as reported in the buffers's GstVideoMeta, when copying data to that buffer.
344 https://bugzilla.gnome.org/show_bug.cgi?id=768173
346 2016-06-21 11:48:40 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
349 Automatic update of common submodule
350 From ac2f647 to f363b32
352 2016-06-21 11:43:13 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
354 * omx/gstomxaudioenc.c:
355 omxaudioenc: implement GstPreset interface
356 To allow user to use GstPreset to quickly save and load a set of
358 https://bugzilla.gnome.org/show_bug.cgi?id=767907
360 2016-06-21 11:41:15 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
362 * omx/gstomxvideoenc.c:
363 omxvideoenc: implement GstPreset interface
364 To allow user to use GstPreset to quickly save and load a set of
366 https://bugzilla.gnome.org/show_bug.cgi?id=767907
368 2016-06-17 12:06:48 +0300 Sebastian Dröge <sebastian@centricular.com>
372 * omx/gstomxaudiodec.c:
373 * omx/gstomxaudioenc.c:
375 * omx/gstomxvideodec.c:
376 * omx/gstomxvideoenc.c:
377 omx: #define OMX_SKIP64BIT on the RPi as required by their API
378 Also add generic support for OMX_SKIP64BIT to gst-omx, in case other
379 implementations also #define that for whatever reason.
380 https://bugzilla.gnome.org/show_bug.cgi?id=766475
382 2016-06-17 10:59:45 +0300 Sebastian Dröge <sebastian@centricular.com>
384 * omx/gstomxvideodec.c:
385 omxvideodec: Implement ::drain() virtual method
386 https://bugzilla.gnome.org/show_bug.cgi?id=767641
388 2016-06-04 19:31:45 +0100 Tim-Philipp Müller <tim@centricular.com>
391 configure: remove AG_GST_PARSE_SUBSYSTEM_DISABLES
392 This would check which subsystems are disabled in core by grepping
393 gstconfig.h. Only problem is: gstconfig.h has moved into libdir now
394 so we've been checking a non-existent file for a while now. The
395 macro would just sets GST_DISABLE_* for use in configure.ac and
396 Makefile.am, but we don't use that anywhere so just get rid of it
397 (the one place where we use GST_DISABLE_GST_DEBUG is in a .c file
398 which gets the define from the gstconfig.h include).
399 https://bugzilla.gnome.org/show_bug.cgi?id=750056
401 2016-01-20 03:10:38 +0900 Gwang Yoon Hwang <yoon@igalia.com>
403 * examples/egl/testegl.c:
404 * omx/gstomxvideodec.c:
405 omxvideodec : Use gstglmemoryegl for the RPi
406 Modified to use gstglmemoryegl to avoid texture creation/copy operations
408 [Matthew Waters]: gst-indent the sources and port testegl to GstGLMemoryEGL
409 https://bugzilla.gnome.org/show_bug.cgi?id=760918
411 2016-04-14 10:04:32 +0100 Julien Isorce <j.isorce@samsung.com>
414 Automatic update of common submodule
415 From 6f2d209 to ac2f647
417 2016-02-26 12:42:41 +0200 Sebastian Dröge <sebastian@centricular.com>
420 Automatic update of common submodule
421 From b64f03f to 6f2d209
423 2016-02-17 20:51:03 +1100 Matthew Waters <matthew@centricular.com>
425 * examples/egl/testegl.c:
426 examples: update egl example for gstgl API changes
427 https://bugzilla.gnome.org/show_bug.cgi?id=762053
428 https://bugzilla.gnome.org/show_bug.cgi?id=753917
430 2016-02-05 18:11:06 -0300 Thiago Santos <thiagoss@osg.samsung.com>
434 Automatic update of common submodule
435 From 86e4663 to b64f03f
437 2015-12-21 00:43:49 +0100 Koop Mast <kwm@rainbow-runner.nl>
440 configure: Make -Bsymbolic check work with clang.
441 Update the -Bsymbolic check with the version glib has. This version
443 https://bugzilla.gnome.org/show_bug.cgi?id=759713
445 2015-12-07 09:11:32 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
449 Automatic update of common submodule
450 From b319909 to 86e4663
452 2015-11-18 13:00:28 +0000 Enrique Ocaña González <eocanha@igalia.com>
455 Remember the last_error after a failed set state call to avoid blocking the next get state call
456 gst_omx_video_dec_flush() blocks forever in
457 http://cgit.freedesktop.org/gstreamer/gst-omx/tree/omx/gstomxvideodec.c?id=9adf0ff82903cad5331e40975ae91ed5d11bc102#n2110
458 when the previous call to gst_omx_component_set_state() fails in
459 http://cgit.freedesktop.org/gstreamer/gst-omx/tree/omx/gstomx.c?id=9adf0ff82903cad5331e40975ae91ed5d11bc102#n827.
460 To mitigate that, I set "last_error" to true, so the code in
461 http://cgit.freedesktop.org/gstreamer/gst-omx/tree/omx/gstomx.c?id=9adf0ff82903cad5331e40975ae91ed5d11bc102#n862
462 exits early and doesn't block.
463 https://bugzilla.gnome.org/show_bug.cgi?id=758274
465 2015-11-18 12:59:59 +0000 Enrique Ocaña González <eocanha@igalia.com>
467 * omx/gstomxaudiodec.c:
468 * omx/gstomxaudioenc.c:
469 * omx/gstomxvideodec.c:
470 * omx/gstomxvideoenc.c:
471 Properly handle drain requests while flushing
472 Without this commit the decoder streaming thread stops without ever attending
473 the drain request, leaving the decoder input thread waiting forever.
474 https://bugzilla.gnome.org/show_bug.cgi?id=758274
476 2015-11-10 10:42:35 +0100 Nicolas Huet <nicolas.huet@parrot.com>
479 omx: fix hacks leak on class init
481 2015-10-21 14:37:13 +0100 Tim-Philipp Müller <tim@centricular.com>
484 Automatic update of common submodule
485 From b99800a to b319909
487 2015-10-21 14:28:41 +0300 Sebastian Dröge <sebastian@centricular.com>
490 Automatic update of common submodule
491 From 9aed1d7 to b99800a
493 2015-09-01 16:08:11 -0300 Thiago Santos <thiagoss@osg.samsung.com>
495 * omx/gstomxaacdec.c:
496 omxaacdec: Do not accept unknown layouts
497 It was defaulting to RAW when an unknown layout was received but
498 the caps template would actually forbid that on the caps query
499 or accept-caps anyway.
501 2015-09-01 08:59:54 -0300 Thiago Santos <thiagoss@osg.samsung.com>
503 * omx/gstomxaudiodec.c:
504 omxaudiodec: use default pad accept-caps handling
505 Instead of the audiodecoder one. The OMX audioo decoders have their
506 valid input in the template pad, so just check against that to
507 avoid doing a query downstream.
509 2015-08-28 12:57:33 -0300 Thiago Santos <thiagoss@osg.samsung.com>
511 * omx/gstomxvideodec.c:
512 omxvideodec: use default pad accept-caps handling
513 Instead of the videodecoder one. The OMX video decoders have their
514 valid input in the template pad, so just check against that to
515 avoid doing a query downstream.
517 2015-08-22 15:54:55 +0000 Graham Leggett <minfrin@sharp.fm>
519 * omx/gstomxvideoenc.c:
520 omxvideoenc: Add keyframe support for the Rpi, using OMX_IndexConfigBrcmVideoRequestIFrame
521 https://bugzilla.gnome.org/show_bug.cgi?id=753085
523 2015-08-20 17:20:50 +0900 Vineeth TM <vineeth.tm@samsung.com>
525 * examples/egl/testegl.c:
526 gst-omx: Fix memory leaks when context parse fails
527 When g_option_context_parse fails, context and error variables are not getting free'd
528 which results in memory leaks. Free'ing the same.
529 And replacing g_error_free with g_clear_error, which checks if the error being passed
530 is not NULL and sets the variable to NULL on free'ing.
531 https://bugzilla.gnome.org/show_bug.cgi?id=753865
533 2015-08-16 14:53:42 +0200 Philippe Normand <philn@igalia.com>
535 * omx/gstomxh264dec.c:
536 omxh264dec: implement is_format_change
537 The omxvideodecoder class only checks some of the caps parameters but if
538 other fields change such as h264 profile and/or level it wouldn't trigger a
540 https://bugzilla.gnome.org/show_bug.cgi?id=752376
542 2015-07-03 00:26:48 +0200 Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>
544 * omx/gstomxvideodec.c:
545 omxvideodec: unref allocator after getting it from allocation query
546 Otherwise a reference will be leaked for each allocator. It only happens
547 when target platform is Raspberry Pi and when we have GL support.
548 https://bugzilla.gnome.org/show_bug.cgi?id=751867
550 2015-07-03 21:59:54 +0200 Stefan Sauer <ensonic@users.sf.net>
553 Automatic update of common submodule
554 From f74b2df to 9aed1d7
556 2015-06-16 17:50:14 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
559 Automatic update of common submodule
560 From 6015d26 to f74b2df
562 2015-06-09 11:30:49 +0200 Edward Hervey <bilboed@bilboed.com>
565 Automatic update of common submodule
566 From d9a3353 to 6015d26
568 2015-06-08 23:08:28 +0200 Stefan Sauer <ensonic@users.sf.net>
571 Automatic update of common submodule
572 From d37af32 to d9a3353
574 2015-06-07 23:07:22 +0200 Stefan Sauer <ensonic@users.sf.net>
577 Automatic update of common submodule
578 From 21ba2e5 to d37af32
580 2015-06-07 17:32:25 +0200 Stefan Sauer <ensonic@users.sf.net>
583 Automatic update of common submodule
584 From c408583 to 21ba2e5
586 2015-06-07 17:16:43 +0200 Stefan Sauer <ensonic@users.sf.net>
590 Automatic update of common submodule
591 From c8fb372 to c408583
593 2015-05-19 18:21:40 +0300 Sebastian Dröge <sebastian@centricular.com>
595 * omx/gstomxaudiodec.c:
596 * omx/gstomxaudiodec.h:
597 omxaudiodec: Add an output adapter for chunking the output into codec frames
598 Otherwise the base class will be confused.
599 See https://bugzilla.gnome.org/show_bug.cgi?id=685730
601 2015-04-26 18:24:13 +0100 Tim-Philipp Müller <tim@centricular.com>
605 Remove obsolete Android build cruft
606 This is not needed any longer.
608 2015-04-22 10:40:22 +0200 Sebastian Dröge <sebastian@centricular.com>
612 autotools automatically generate this, and when using different versions
613 for autogen.sh there will always be changes to a file tracked by git.
615 2015-04-08 15:57:59 +0100 Tim-Philipp Müller <tim@centricular.com>
621 Add m4 directory so aclocal doesn't complain in autogen.sh
622 Might come in handy, and these warnings seem to be
623 fatal in some environments.
624 You may need to git clean -x -d -f your tree before
627 2015-04-07 22:25:57 +0100 Tim-Philipp Müller <tim@centricular.com>
631 Update autogen.sh to latest version
633 2015-04-03 18:58:17 +0100 Tim-Philipp Müller <tim@centricular.com>
636 Automatic update of common submodule
637 From bc76a8b to c8fb372
639 2015-03-06 12:12:49 +0000 Luis de Bethencourt <luis.bg@samsung.com>
641 * omx/gstomxaacdec.c:
642 omxaudiodec: add comment explaining duplicate code path
644 2015-03-06 12:09:06 +0000 Luis de Bethencourt <luis.bg@samsung.com>
646 * omx/gstomxaacdec.c:
647 Revert "omxaudiodec: remove duplicate code path"
648 This reverts commit a8d26ff27a8b43f589424a59294f9057641b2a46.
650 2015-03-06 12:03:56 +0000 Luis de Bethencourt <luis.bg@samsung.com>
653 omx: handle both errors in the two steps of update_port_definition
654 Also consider potential errors in the _get_parameter() in the return of the
655 update_port_definition function.
658 2015-03-06 10:57:53 +0000 Luis de Bethencourt <luis.bg@samsung.com>
660 * omx/gstomxaudioenc.c:
661 omxaudioenc: impossible if statement
662 ret is set to GST_STATE_CHANGE_SUCCESS and never touched, so it is impossible
663 for it to be anything else at the if check. Remove the if check.
666 2015-03-06 10:54:43 +0000 Luis de Bethencourt <luis.bg@samsung.com>
668 * omx/gstomxaudiodec.c:
669 omxaudiodec: impossible if statement
670 ret is set to GST_STATE_CHANGE_SUCCESS and never touched, so it is impossible
671 for it to be anything else at the if check. Remove it.
674 2015-03-06 10:50:30 +0000 Luis de Bethencourt <luis.bg@samsung.com>
676 * omx/gstomxaacdec.c:
677 omxaudiodec: remove duplicate code path
679 2014-12-19 11:19:55 +0200 George Kiagiadakis <george.kiagiadakis@collabora.com>
682 omx: call handle_messages() only once in acquire_buffer() to avoid potential deadlock
683 There is one rare case where calling handle_messages() more than once can cause a deadlock
684 in the video decoder element:
685 - sink pad thread starts the src pad task (gst_omx_video_dec_loop())
686 - _video_dec_loop() calls gst_omx_port_acquire_buffer() on dec_out_port
687 - blocks in gst_omx_component_wait_message() releasing comp->lock and comp->messages_lock
688 (initially, there are no buffers configured on that port, so it waits for OMX_EventPortSettingsChanged)
689 - the sink pad thread pushes a buffer to the decoder with gst_omx_port_release_buffer()
690 - _release_buffer() grabs comp->lock and sends the buffer to OMX, which consumes it immediately
691 - EmptyBufferDone gets called at this point, which signals _wait_message() to unblock
692 - the message from EmptyBufferDone is processed in gst_omx_component_handle_messages()
693 called from gst_omx_port_release_buffer()
694 - gst_omx_port_release_buffer releases comp->lock
695 - the src pad thread now gets to run, grabbing comp->lock while it exits from _wait_message()
696 - _acquire_buffer() calls the _handle_messages() on the next line after _wait_message(),
697 which does nothing (no pending messages)
698 - then it goes to "retry:" and calls _handle_messages() again, which also does nothing
699 (still no pending messages)
700 - scheduler switches to a videocore thread that calls EventHandler, informing us about the
701 OMX_EventPortSettingsChanged event that just arrived
702 - EventHandler graps comp->messages_lock, but not comp->lock, so it can run in parallel at
703 this point just fine.
704 - scheduler switches back to the src pad thread (which is in the middle of _acquire_buffer())
705 - the next _handle_messages() which is right before if (g_queue_is_empty (&port->pending_buffers))
706 processes the OMX_EventPortSettingsChanged
707 - the buffer queue is still empty, so that thread blocks again in _wait_message()
708 - the sink pad thread tries to acquire the next input port buffer
709 - _acquire_buffer() also blocks this thread in:
710 if (comp->pending_reconfigure_outports) { ... _wait_message() ... }
711 - DEADLOCK. gstreamer is waiting for omx to do something, omx waits for gstreamer to do something.
712 By removing those extra _handle_messages() calls, we can ensure that all the checks of
713 _acquire_buffer() will re-run. In the above case, after the scheduler switches back to
714 the middle of _acquire_buffer(), the code will enter _wait_message(), which will see that
715 there are pending messages and will return immediately, going back to "retry:" and
716 re-doing all the checks properly.
717 https://bugzilla.gnome.org/show_bug.cgi?id=741854
719 2015-02-26 09:27:44 +0900 Wonchul Lee <chul0812@gmail.com>
722 omx: cleanup code a bit to remove else statement
723 https://bugzilla.gnome.org/show_bug.cgi?id=745191
725 2015-01-12 16:13:35 +0100 Stefan Sauer <ensonic@users.sf.net>
728 Automatic update of common submodule
729 From f2c6b95 to bc76a8b
731 2014-12-18 10:56:15 +0100 Sebastian Dröge <sebastian@centricular.com>
734 Automatic update of common submodule
735 From ef1ffdc to f2c6b95
737 2014-11-27 17:12:42 +0100 Edward Hervey <bilboed@bilboed.com>
740 Automatic update of common submodule
741 From 7bb2bce to ef1ffdc
743 2014-11-13 09:55:02 +0900 Jun Ji <jun.ji@lge.com>
747 * omx/gstomxamrdec.c:
748 * omx/gstomxamrdec.h:
750 https://bugzilla.gnome.org/show_bug.cgi?id=739333
752 2014-10-27 18:00:50 +0100 Sebastian Dröge <sebastian@centricular.com>
755 Automatic update of common submodule
756 From 84d06cd to 7bb2bce
758 2014-10-21 13:03:44 +0100 Tim-Philipp Müller <tim@centricular.com>
761 Automatic update of common submodule
762 From a8c8939 to 84d06cd
764 2014-10-21 13:00:10 +0200 Stefan Sauer <ensonic@users.sf.net>
767 Automatic update of common submodule
768 From 1f5d3c3 to a8c8939
770 2014-09-30 10:47:20 +0300 Sebastian Dröge <sebastian@centricular.com>
772 * omx/gstomxaudiodec.c:
773 omxaudiodec: Clean up code a bit to get rid of useless NULL checks
775 2014-09-30 10:50:07 +0900 junji <jun.ji@lge.com>
777 * omx/gstomxaudiodec.c:
778 omxaudiodec: Unmap input buffers after usage
779 https://bugzilla.gnome.org/show_bug.cgi?id=736314
781 2014-08-31 20:30:13 +0000 Michal Lazo <michal.lazo@mdragon.org>
783 * omx/gstomxvideoenc.c:
784 omxvideoenc: Setup aspect ratio on RPi
785 Needs firmware from yesterday or newer to work with all possible
786 aspect ratios. Before that it only supported a fixed list.
787 https://bugzilla.gnome.org/show_bug.cgi?id=732533
789 2014-08-28 10:44:31 +0300 Sebastian Dröge <sebastian@centricular.com>
791 * omx/gstomxaudioenc.c:
792 omxaudioenc: Implement the hack flag GST_OMX_HACK_NO_COMPONENT_RECONFIGURE
794 2014-08-28 10:43:22 +0300 Sebastian Dröge <sebastian@centricular.com>
796 * omx/gstomxaudioenc.c:
797 omxaudioenc: Use the base class' open/close vfuncs instead of calling them ourselves
799 2014-08-26 22:13:53 -0500 Peng Liu <pengliu.mail@gmail.com>
801 * config/rpi/gstomx.conf:
802 * omx/gstomxvideoenc.c:
803 omxvideoenc: Implement the hack flag GST_OMX_HACK_NO_COMPONENT_RECONFIGURE
804 Fix a video encoder stall problem on RPi when changing the aspect ratio.
805 https://bugzilla.gnome.org/show_bug.cgi?id=732533
807 2014-08-14 17:36:11 +0300 Sebastian Dröge <sebastian@centricular.com>
809 * omx/gstomxaudiodec.c:
810 * omx/gstomxaudiodec.h:
811 * omx/gstomxaudioenc.c:
812 * omx/gstomxaudioenc.h:
813 * omx/gstomxvideodec.c:
814 * omx/gstomxvideodec.h:
815 * omx/gstomxvideoenc.c:
816 * omx/gstomxvideoenc.h:
817 omx: Let base classes handle EOS
818 https://bugzilla.gnome.org//show_bug.cgi?id=734774
820 2014-08-14 17:33:07 +0300 Sebastian Dröge <sebastian@centricular.com>
822 * omx/gstomxaudiodec.c:
823 omxaudiodec: Fix flushing logic and make it more similar to the video decoder
825 === release 1.2.0 ===
827 2014-07-23 11:28:12 +0200 Sebastian Dröge <sebastian@centricular.com>
837 2014-07-22 09:23:00 +0200 Sebastian Dröge <sebastian@centricular.com>
839 * config/bellagio/gstomx.conf:
840 * config/rpi/gstomx.conf:
841 config: Update ranks to PRIMARY+1 to have higher preference than avdec_*
842 See https://bugzilla.gnome.org/show_bug.cgi?id=732161
844 2014-07-20 17:46:30 +0200 Sebastian Dröge <sebastian@centricular.com>
846 * omx/gstomxaudiosink.c:
847 omxaudiosink: Set port to not flushing in prepare() and keep it at flushing in unprepare()
848 https://bugzilla.gnome.org/show_bug.cgi?id=733168
850 2014-07-13 22:15:18 +0200 Sebastian Dröge <sebastian@centricular.com>
852 * omx/gstomxaacdec.c:
853 * omx/gstomxaudiodec.c:
854 * omx/gstomxaudiodec.h:
855 * omx/gstomxmp3dec.c:
856 omxaudiodec: Implement setting of fallback channel positions
858 2014-07-13 18:22:39 +0200 Sebastian Dröge <sebastian@centricular.com>
862 * omx/gstomxaacdec.c:
863 * omx/gstomxaacdec.h:
864 * omx/gstomxmp3dec.c:
865 omx: Add AAC audio decoder
867 2014-07-02 09:22:28 +0200 Sebastian Dröge <sebastian@centricular.com>
869 * omx/gstomxaudiodec.c:
870 omxaudiodec: Get PCM parameters from the out port, not the in port
872 2014-05-15 13:24:39 +0200 Sebastian Dröge <sebastian@centricular.com>
874 * omx/gstomxaudiodec.c:
875 omxaudiodec: Implement hack for not disabling the output port after set_format until the output format is known
876 Needed on some OMX implementations, e.g. the one from Atmel. It does
877 not send the settings-changed event on the output port if it is
880 2014-05-10 23:12:54 +0200 Sebastian Dröge <sebastian@centricular.com>
884 * omx/gstomxaudiodec.c:
885 * omx/gstomxaudiodec.h:
886 * omx/gstomxmp3dec.c:
887 * omx/gstomxmp3dec.h:
888 omx: Add audio decoder base class and a subclass for MP3
890 2014-07-01 09:38:01 +0200 Sebastian Dröge <sebastian@centricular.com>
894 omx: Link to gmodule-2.0-no-export for being able to use the g_module_*() API
895 https://bugzilla.gnome.org/show_bug.cgi?id=732518
897 2014-06-30 15:00:54 +0200 Sebastian Dröge <sebastian@centricular.com>
899 * examples/egl/testegl.c:
900 examples: #define GST_USE_UNSTABLE_API for libgstgl
902 2014-06-29 19:10:19 +0200 Sebastian Dröge <sebastian@centricular.com>
904 * omx/gstomxh264enc.c:
905 * omx/gstomxh264enc.h:
906 omxh264enc: Properly accumulate headers and push before the next frame
907 Fixes output of encoding on RPi, where each header buffer (SPS and PPS)
908 is in a separate OMX buffer.
909 https://bugzilla.gnome.org/show_bug.cgi?id=726669
911 2014-06-29 19:04:54 +0200 Sebastian Dröge <sebastian@centricular.com>
913 * omx/gstomxvideoenc.c:
914 omxvideoenc: Implement flush() instead of the deprecated reset()
916 2014-06-25 17:14:18 +0200 Sebastian Dröge <sebastian@centricular.com>
918 * config/rpi/gstomx.conf:
919 rpi: It's 44100Hz, not 41400Hz
921 2014-06-25 11:12:51 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
924 configure.ac: require gstgl >= 1.3.3
926 2014-04-25 13:25:05 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
930 example: enable testegl
931 See https://bugzilla.gnome.org/show_bug.cgi?id=728940
933 2014-06-25 10:19:54 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
935 * examples/egl/testegl.c:
936 testegl: do matrix mutlplication in the shader
937 See https://bugzilla.gnome.org/show_bug.cgi?id=728940
939 2014-06-25 09:36:38 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
941 * examples/egl/testegl.c:
942 testegl: add a comment for the parse command
943 See https://bugzilla.gnome.org/show_bug.cgi?id=728940
945 2014-04-25 17:32:16 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
947 * examples/egl/Makefile.am:
948 * examples/egl/cube_texture_and_coords.h:
949 * examples/egl/testegl.c:
950 testegl: convert code from GLESv1 to GLESv2
951 See https://bugzilla.gnome.org/show_bug.cgi?id=728940
953 2014-04-25 13:21:59 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
955 * examples/egl/Makefile.am:
956 * examples/egl/testegl.c:
957 testegl: port to gstgl API
958 - append a glfilter just before fakesink
959 So that we get gltexture or eglimages
960 - propagate our EGLDisplay to the pipeline
961 see GST_QUERY_CONTEXT
962 - share our EGLContext with the iternal gl context
963 of the pipeline, see GST_QUERY_ALLOCATION
964 - use GstVideoGLTextureUploadMeta to upload
965 the incoming gltexture or eglimage to our gl texture
966 TODO: convert from GLESv1 to GLESv2
967 See https://bugzilla.gnome.org/show_bug.cgi?id=728940
969 2014-06-24 14:52:58 +0200 Sebastian Dröge <sebastian@centricular.com>
971 * omx/gstomxbufferpool.c:
972 * omx/gstomxbufferpool.h:
973 * omx/gstomxvideodec.c:
974 omxbufferpool: Copy buffers if the stride does not match and we can't use video meta
975 https://bugzilla.gnome.org/show_bug.cgi?id=731672
977 2014-06-24 14:52:43 +0200 Sebastian Dröge <sebastian@centricular.com>
981 * omx/gstomxvp8dec.h:
982 omx: Only include OMX_VideoExt.h conditionally
983 It does not exist on the RPi for example.
985 2014-06-24 13:59:44 +0200 Sebastian Dröge <sebastian@centricular.com>
988 configure.ac: Require GStreamer core/base >= 1.2.2
989 Needed at least for gst_video_decoder_release_frame().
991 2014-06-24 13:02:13 +0200 Sebastian Dröge <sebastian@centricular.com>
993 * omx/gstomxbufferpool.c:
994 omxbufferpool: Fix format string compiler warning
996 2014-06-22 21:11:45 +0000 Michal Lazo <xlazom00@gmail.com>
998 * omx/gstomxbufferpool.c:
999 omxbufferpool: Initialize debug category
1001 2014-06-24 12:42:22 +0200 Sebastian Dröge <sebastian@centricular.com>
1003 * omx/gstomxbufferpool.c:
1004 omxbufferpool: Properly convert OMX alignment to GStreamer alignment
1005 GStreamer uses a bitmask for the alignment while OMX uses the
1006 alignment itself. Let's convert.
1007 https://bugzilla.gnome.org/show_bug.cgi?id=710564
1009 2014-06-24 11:11:28 +0200 Sebastian Dröge <sebastian@centricular.com>
1011 * omx/gstomxh264enc.c:
1012 omxh264enc: Don't let baseclass finish frames for SPS/PPS buffers
1013 Otherwise we a) send them twice, and b) finish a frame for something
1014 that does not even include a frame.
1015 https://bugzilla.gnome.org/show_bug.cgi?id=726669
1017 2014-06-24 10:22:37 +0200 Sebastian Dröge <sebastian@centricular.com>
1019 * omx/gstomxvideo.h:
1020 omxvideo: Include the separate headers too for compatibility with 1.0.x
1022 2014-03-24 16:09:40 +0800 Zhao, Halley <halley.zhao@intel.com>
1025 * omx/gstomxvp8dec.h:
1026 omxvp8dec: use VP8 definition from OMX_VideoExt.h
1027 https://bugzilla.gnome.org/show_bug.cgi?id=726957
1029 2014-03-24 15:33:26 +0800 Zhao, Halley <halley.zhao@intel.com>
1032 configure: add --with-omx-header-path option for external omx headers
1033 https://bugzilla.gnome.org/show_bug.cgi?id=726957
1035 2014-06-18 23:04:33 +0200 Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>
1037 * omx/gstomxvideodec.c:
1038 omxvideodec: fix a query leak
1039 Also add a debug message if query fails.
1040 https://bugzilla.gnome.org/show_bug.cgi?id=731898
1042 2014-05-30 15:29:15 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
1044 * omx/gstomxvideodec.c:
1045 omxvideodec: release frames with old PTS to avoid memory issue
1046 Interlaced stream could make the decoder use two input frames to produce
1047 one output frame causing the gstvideodecoder frame list to grow.
1048 Assuming the video decoder output frame in display order rather than in
1049 decoding order, this commit add a way to release frames with PTS less
1050 than current output frame.
1051 https://bugzilla.gnome.org/show_bug.cgi?id=730995
1053 2013-06-27 21:59:29 +0900 Kazunori Kobayashi <kkobayas@igel.co.jp>
1056 omx: Fix a missing g_free() in error path
1057 This fixes a memory leak with g_strdup() when an error occurs.
1058 https://bugzilla.gnome.org/show_bug.cgi?id=731141
1060 2014-06-02 15:34:09 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
1062 * omx/gstomxvideodec.c:
1063 omxvideodec: add missing stream unlock in error path
1065 2014-05-31 15:12:05 +0200 Sebastian Dröge <sebastian@centricular.com>
1068 omx: Don't handle disabling/enabling ports exactly like flushing
1069 Otherwise we might abort a flush operation in another thread when
1070 enabling/disabling ports, leading to deadlocks sometimes.
1071 https://bugzilla.gnome.org/show_bug.cgi?id=730989
1073 2014-05-26 11:02:10 +0200 Sebastian Dröge <sebastian@centricular.com>
1075 * omx/gstomxvideodec.c:
1076 omxvideodec: Don't leak buffer pool config in error cases
1079 2014-05-21 10:53:43 +0200 Sebastian Dröge <sebastian@centricular.com>
1082 Automatic update of common submodule
1083 From 211fa5f to 1f5d3c3
1085 2014-05-19 09:10:07 +0200 Sebastian Dröge <sebastian@centricular.com>
1087 * omx/gstomxvideoenc.c:
1088 omxvideoenc: Don't forget to unref codec state
1091 2014-05-19 09:08:33 +0200 Sebastian Dröge <sebastian@centricular.com>
1093 * omx/gstomxvideodec.c:
1094 omxvideodec: Make output buffer pointer always initialized
1097 2014-05-19 09:06:42 +0200 Sebastian Dröge <sebastian@centricular.com>
1099 * omx/gstomxvideodec.c:
1100 omxvideodec: Check return value of gst_buffer_map()
1103 2014-05-19 09:04:09 +0200 Sebastian Dröge <sebastian@centricular.com>
1105 * omx/gstomxvideodec.c:
1106 omxvideodec: Check return value of gst_omx_port_set_enabled() for errors
1109 2014-05-19 09:01:46 +0200 Sebastian Dröge <sebastian@centricular.com>
1111 * omx/gstomxvideodec.c:
1112 omxvideodec: Check return values of buffer pool config parsing functions
1115 2014-05-19 08:48:50 +0200 Sebastian Dröge <sebastian@centricular.com>
1118 omx: Remove dead code, buf can never be NULL here as we just check for that the line above
1121 2014-05-19 08:47:36 +0200 Sebastian Dröge <sebastian@centricular.com>
1124 omx: Fix comparisons in gst_omx_state_to_string() case to actually make sense
1127 2014-05-19 08:45:10 +0200 Sebastian Dröge <sebastian@centricular.com>
1130 omx: Make sure to compare the error codes as unsigned integers so that comparisons >2**31 actually work
1133 2014-05-19 08:40:23 +0200 Sebastian Dröge <sebastian@centricular.com>
1136 omx: Fix comparisons in gst_omx_command_to_string() default cause to actually work
1139 2014-05-15 13:22:56 +0200 Sebastian Dröge <sebastian@centricular.com>
1141 * omx/gstomxaudioenc.c:
1142 omxaudioenc: Implement hack for not disabling the output port after set_format until the output format is known
1143 Needed on some OMX implementations, e.g. the one from Atmel. It does
1144 not send the settings-changed event on the output port if it is
1147 2014-05-15 13:21:07 +0200 Sebastian Dröge <sebastian@centricular.com>
1149 * omx/gstomxvideoenc.c:
1150 omxvideoenc: Implement hack for not disabling the output port after set_format until the output format is known
1151 Needed on some OMX implementations, e.g. the one from Atmel. It does
1152 not send the settings-changed event on the output port if it is
1155 2014-05-15 10:58:34 +0200 Sebastian Dröge <sebastian@centricular.com>
1159 * omx/gstomxvideodec.c:
1160 omx: Add a hack for not disabling the output port after set_format until the output format is known
1161 Needed on some OMX implementations, e.g. the one from Atmel. It does
1162 not send the settings-changed event on the output port if it is
1165 2014-05-12 12:33:32 +0200 Josep Torra <n770galaxy@gmail.com>
1167 * omx/gstomxaudiosink.c:
1168 omxaudiosink: implement _delay only in the RaspberryPI
1169 Make code implementation conditionally built for RaspberryPI because
1170 OMX_IndexConfigAudioRenderingLatency seems to be a Broadcom extension.
1171 On other targets the query position might not be accurate without
1172 implementing _delay appropriatelly.
1174 2014-05-12 08:56:15 +0200 Sebastian Dröge <sebastian@centricular.com>
1176 * omx/gstomxaudioenc.c:
1177 omxaudioenc: Correctly scale nTickCount by OMX_TICKS_PER_SECOND
1179 2014-05-10 22:48:23 +0200 Sebastian Dröge <sebastian@centricular.com>
1181 * omx/gstomxaudioenc.c:
1182 omxaudioenc: Drain encoder on NULL buffer and don't drain on flushing
1184 2014-05-10 22:47:56 +0200 Sebastian Dröge <sebastian@centricular.com>
1186 * omx/gstomxvideodec.c:
1187 omxvideodec: Set nTickCount based on the buffer's duration instead of something wrong
1189 2014-05-10 22:47:21 +0200 Sebastian Dröge <sebastian@centricular.com>
1191 * omx/gstomxvideoenc.c:
1192 omxvideoenc: Set nTickCount to the whole duration of the buffer instead of a wrong calculation
1194 2014-05-10 22:46:51 +0200 Sebastian Dröge <sebastian@centricular.com>
1196 * omx/gstomxaudiosink.c:
1197 omxaudiosink: Fix format string compiler warnings
1199 2014-04-04 14:11:58 +0200 Josep Torra <n770galaxy@gmail.com>
1201 * config/rpi/gstomx.conf:
1204 * omx/gstomxanalogaudiosink.c:
1205 * omx/gstomxanalogaudiosink.h:
1206 * omx/gstomxaudiosink.c:
1207 * omx/gstomxaudiosink.h:
1208 * omx/gstomxhdmiaudiosink.c:
1209 * omx/gstomxhdmiaudiosink.h:
1210 omxaudiosink: Implements OpenMAX based audio sinks
1211 Provides omxanalogaudiosink and omxhdmiaudiosink elements on
1213 - omxanalogaudiosink is capable to render raw mono or stereo audio
1214 through the jack output.
1215 - omxhdmiaudiosink is capable to render raw audio up to 8 channels
1216 and transmit ac3/dts(IEC 61937) through the HDMI output.
1217 - sinks provide a clock derived from rendered samples
1218 - sinks support the GstStreamVolume interface by implementing
1219 the volume and mute properties.
1220 https://bugzilla.gnome.org/show_bug.cgi?id=728962
1222 2014-05-03 10:17:35 +0200 Sebastian Dröge <sebastian@centricular.com>
1225 Automatic update of common submodule
1226 From bcb1518 to 211fa5f
1228 2014-04-29 15:16:16 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
1230 * omx/gstomxvideodec.c:
1231 omxvideodec: can negotiate caps with memory:EGLImage feature when using EGLImage allocator
1232 Previously when using gst EGLImage allocator the caps was
1233 video/x-raw, format=RGBA instead of
1234 video/x-raw(memory:EGLImage), format=RGBA
1235 Kepp previous behavior in case negotiation fails with caps feature.
1236 It means it will still have a chance to use EGLImage even if the
1237 feature is not in the caps.
1238 https://bugzilla.gnome.org/show_bug.cgi?id=729196
1240 2014-04-23 09:57:48 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
1242 * omx/gstomxvp8dec.h:
1243 omxvp8dec: fix typo in GST_TYPE_OMX_VP8_DEC define
1244 https://bugzilla.gnome.org/show_bug.cgi?id=728774
1246 2014-04-16 11:00:55 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
1248 * omx/gstomxvideodec.c:
1249 omxvideodec: don't unref caps before logging field from it
1250 https://bugzilla.gnome.org/show_bug.cgi?id=728322
1252 2014-04-15 17:30:13 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
1256 example: disable testegl since libgstegl has been removed
1257 As decided in bug #703343
1258 Not compatible with the new libgstgl API.
1259 A portage has been started, attachment 272800.
1260 https://bugzilla.gnome.org/show_bug.cgi?id=703343
1262 2014-04-15 17:11:08 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
1264 * omx/gstomxvideodec.c:
1265 omxvideodec: use new libgstgl API since libgstegl has been removed
1266 There is no point to retrieve a ref/unref type
1267 instead of an EGLDisplay directly. It's like for EGLImage.
1268 https://bugzilla.gnome.org/show_bug.cgi?id=703343
1270 2014-04-15 17:06:38 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
1273 * examples/Makefile.am:
1275 * omx/gstomxvideodec.c:
1276 configure.ac: check for libgstgl since libgstegl has been removed
1277 https://bugzilla.gnome.org/show_bug.cgi?id=703343
1279 2014-04-09 18:52:16 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
1281 * omx/gstomxbufferpool.c:
1282 * omx/gstomxvideodec.c:
1283 omxvideodec: add support of more color format
1284 Add support for ABGR, ARGB, RGB16, BGR16, YUY2, UYVY, YVYU, GRAY8 and
1287 2014-04-09 18:51:57 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
1289 * omx/gstomxvideodec.c:
1290 omxvideodec: simplify color format conversion in fill_buffer function
1292 2014-04-09 18:51:41 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
1294 * omx/gstomxbufferpool.c:
1295 omxbufferpool: make video stride and offset calculation easier
1296 It will be easier to support more color format.
1298 2014-04-09 18:51:12 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
1300 * omx/gstomxvideo.c:
1301 * omx/gstomxvideo.h:
1302 * omx/gstomxvideodec.c:
1303 omx: add an helper to convert OMX color format to GStreamer color format
1305 2014-03-10 17:43:50 +0100 Josep Torra <n770galaxy@gmail.com>
1307 * examples/egl/testegl.c:
1308 * omx/gstomxvideodec.c:
1309 omxvideodec: Implement pipeline draining to support adaptive scenarios
1310 When draining due a format change also drain
1311 the pipeline to reclaim back all buffers.
1312 https://bugzilla.gnome.org/show_bug.cgi?id=726107
1314 2014-03-27 13:57:32 +0100 Josep Torra <n770galaxy@gmail.com>
1316 * examples/egl/testegl.c:
1317 examples: fix several memory leaks in the testegl example
1318 Ensure to call to image_data_free in order to release GPU resources.
1319 Also ensure to destroy EGLImage and GLTexture from proper
1321 https://bugzilla.gnome.org/show_bug.cgi?id=726107
1323 2014-03-25 17:16:31 +0000 Julien Isorce <julien.isorce@collabora.co.uk>
1325 * examples/egl/testegl.c:
1326 examples: keep a ref on the buffer instead of the memory
1328 https://bugzilla.gnome.org/show_bug.cgi?id=726107
1330 2014-03-07 20:08:05 +0100 Josep Torra <n770galaxy@gmail.com>
1332 * omx/gstomxvideodec.c:
1333 omxvideodec: fixes race condition during seeks
1334 Acording 6.1.3 Seek Event Sequence in the OpenMAX IL 1.1.2 spec
1335 document in order to flush the component it needs to be in
1337 https://bugzilla.gnome.org/show_bug.cgi?id=726038
1339 2014-01-29 18:31:26 +0000 Julien Isorce <julien.isorce@collabora.co.uk>
1341 * omx/gstomxvideodec.c:
1342 omxvideodec: use flush because reset is deprecated
1343 https://bugzilla.gnome.org/show_bug.cgi?id=726038
1345 2014-01-27 17:03:50 +0000 Julien Isorce <julien.isorce@collabora.co.uk>
1347 * omx/gstomxvideodec.c:
1348 omxvideodec: populate the most downstream output port on reset
1349 Make seeking work when using egl_render component
1350 https://bugzilla.gnome.org/show_bug.cgi?id=726038
1352 2014-03-24 17:49:59 +0100 Josep Torra <n770galaxy@gmail.com>
1354 * omx/gstomxbufferpool.c:
1355 omxbufferpool: return buffers to the pool instead of freeing them
1356 We have to return the buffers back to the pool in when stopping to
1357 not mess with the GstBufferPool accounting.
1358 The OMX buffers will be freed when those won't be in charge of the
1359 pool in the chained up call to 'stop'.
1360 Fixes segfaults on finalize and pool not being properly deactivated.
1361 https://bugzilla.gnome.org/show_bug.cgi?id=726337
1363 2014-03-19 12:12:49 +0100 Christian König <christian.koenig@amd.com>
1365 * omx/gstomxvideodec.c:
1366 omxvideodec: add missing unlock in the error path
1367 Signed-off-by: Christian König <christian.koenig@amd.com>
1368 https://bugzilla.gnome.org/show_bug.cgi?id=726958
1370 2014-03-18 23:36:59 +0100 Michal Lazo <xlazom00@gmail.com>
1372 * omx/gstomxh264enc.c:
1373 * omx/gstomxh264enc.h:
1376 2014-03-17 09:57:11 +0000 Julien Isorce <julien.isorce@collabora.co.uk>
1378 * omx/gstomxbufferpool.c:
1379 omxbufferpool: fix memory leak if used on output port
1380 When using GstOMXBufferPool on an output port, it internally uses
1381 a GPtrArray to manage the GstBuffers instead of the default queue
1382 from the GstBufferPool base class.
1383 In this case GstBufferPool::default_free_buffer is not called when
1384 the pool is stopped. Because the queue is empty. So explicitely
1385 call gst_omx_buffer_pool_free_buffer on each buffer contained in
1387 https://bugzilla.gnome.org/show_bug.cgi?id=726337
1389 2014-03-16 17:32:05 +0100 Sebastian Dröge <sebastian@centricular.com>
1391 * omx/gstomxh264enc.c:
1392 omxh264enc: Fix compiler warnings
1394 2014-03-16 17:19:08 +0100 Michal Lazo <xlazom00@gmail.com>
1396 * omx/gstomxh264enc.c:
1397 * omx/gstomxh264enc.h:
1398 omxh264enc: IDR interval, SPS and PPS headers for rpi
1399 https://bugzilla.gnome.org/show_bug.cgi?id=720031
1401 2014-03-13 14:26:58 +0100 Christian König <christian.koenig@amd.com>
1405 * omx/gstomxvideo.c:
1406 omxvideo: fix debug category initialisation
1407 https://bugzilla.gnome.org/show_bug.cgi?id=726024
1409 2014-03-13 19:04:47 +0100 Christian König <christian.koenig@amd.com>
1411 * omx/gstomxbufferpool.h:
1412 omxbufferpool: add proper type definitions
1413 https://bugzilla.gnome.org/show_bug.cgi?id=726325
1415 2014-03-02 10:30:04 +0100 Christian König <christian.koenig@amd.com>
1418 omx: consolidate message waiting code
1419 Add a wait_message helper function and remove all those duplicated code.
1420 https://bugzilla.gnome.org/show_bug.cgi?id=725493
1422 2014-03-12 12:48:12 +0100 Sebastian Dröge <sebastian@centricular.com>
1424 * omx/gstomxvideo.c:
1425 omx: Copy old copyright notice into the new file
1427 2014-03-12 12:47:34 +0100 Sebastian Dröge <sebastian@centricular.com>
1429 * omx/gstomxvideo.c:
1430 * omx/gstomxvideo.h:
1431 * omx/gstomxvideodec.c:
1432 * omx/gstomxvideoenc.c:
1433 omx: Rename function from _4_ to _for_ for clarity
1435 2014-03-03 16:15:24 +0100 Christian König <christian.koenig@amd.com>
1438 * omx/gstomxvideo.c:
1439 * omx/gstomxvideo.h:
1440 * omx/gstomxvideodec.c:
1441 * omx/gstomxvideoenc.c:
1442 omxvideo: start sharing more code between video decoder and encoder
1443 Identical functionality spread of two different components.
1444 We can't use a common base class because of different inheritance,
1445 but let's try to share the code anyway.
1446 https://bugzilla.gnome.org/show_bug.cgi?id=726024
1448 2014-03-12 12:43:49 +0100 Sebastian Dröge <sebastian@centricular.com>
1450 * examples/egl/Makefile.am:
1451 examples: Only build RPi EGL example if RPi was chosen as target
1453 2014-03-12 12:42:23 +0100 Sebastian Dröge <sebastian@centricular.com>
1455 * omx/gstomxbufferpool.h:
1456 omxbufferpool: Fix header include guard
1458 2014-03-05 11:41:02 +0100 Christian König <christian.koenig@amd.com>
1461 * omx/gstomxbufferpool.c:
1462 * omx/gstomxbufferpool.h:
1463 * omx/gstomxvideodec.c:
1464 omxvideodec: separate the buffer pool from the decoder
1465 https://bugzilla.gnome.org/show_bug.cgi?id=726025
1467 2014-03-04 17:41:20 +0100 Christian König <christian.koenig@amd.com>
1471 * omx/gstomxvideodec.c:
1472 omx: simplify tunnel functions
1473 Specifying the component is error prone and unnecessary.
1474 https://bugzilla.gnome.org/show_bug.cgi?id=726021
1476 2014-03-07 17:12:24 +0100 Christian König <christian.koenig@amd.com>
1478 * omx/gstomxvideodec.c:
1479 omxvideodec: fix memory leak in gst_omx_video_dec_allocate_output_buffers
1480 https://bugzilla.gnome.org/show_bug.cgi?id=725907
1482 2014-03-07 13:18:49 +0100 Christian König <christian.koenig@amd.com>
1484 * omx/gstomxvideodec.c:
1485 omxvideodec: fix memory leak gst_omx_video_dec_negotiate
1486 https://bugzilla.gnome.org/show_bug.cgi?id=725907
1488 2014-03-05 18:54:05 +0100 Christian König <christian.koenig@amd.com>
1490 * omx/gstomxvideoenc.c:
1491 omxvideoenc: fix a memory leak in gst_omx_video_enc_getcaps
1492 https://bugzilla.gnome.org/show_bug.cgi?id=725826
1494 2014-03-05 17:43:33 +0100 Josep Torra <n770galaxy@gmail.com>
1497 Makefile.am: build examples
1498 There's no reason to not build the examples now that are ported to 1.x.
1500 2014-03-05 17:25:09 +0100 Josep Torra <n770galaxy@gmail.com>
1502 * examples/egl/testegl.c:
1503 examples: avoid a clashing name with the recently added GstEGLImagePool
1504 Fixes build with current master.
1506 2013-09-05 03:41:10 -0600 Christian König <christian.koenig@amd.com>
1508 * omx/gstomxvideoenc.c:
1509 omxvideoenc: simplify _find_nearest_frame
1510 Just the same as we did with the decoder. Also give the
1511 function a gst_omx_video_enc prefix to distinct it from
1512 the decoder function.
1513 https://bugzilla.gnome.org/show_bug.cgi?id=724236
1515 2013-09-05 02:23:39 -0600 Christian König <christian.koenig@amd.com>
1517 * omx/gstomxvideodec.c:
1518 omxvideodec: simplify _find_nearest_frame
1519 No need to make it more complicated and error prone than
1520 necessary. Also give the function a gst_omx_video_dec prefix
1521 to distinct it from the encoder function.
1522 https://bugzilla.gnome.org/show_bug.cgi?id=724236
1524 2013-09-05 02:05:52 -0600 Christian König <christian.koenig@amd.com>
1526 * omx/gstomxvideodec.c:
1527 omxvideodec: remove dead code
1528 This code doesn't seems to be used for quite a while,
1529 remove it before it starts to rot.
1530 https://bugzilla.gnome.org/show_bug.cgi?id=724236
1532 2014-03-01 22:28:24 +0100 Christian König <christian.koenig@amd.com>
1535 omx: fix two serious message handling bugs
1536 Waiting for the next message if we already got one
1537 is nonsense and can lead to lockups.
1538 https://bugzilla.gnome.org/show_bug.cgi?id=725468
1540 2014-03-01 18:49:41 +0100 Christian König <christian.koenig@amd.com>
1542 * omx/gstomxvideoenc.c:
1543 omxvideoenc: fix startup race condition
1544 The reset function shouldn't start the src pad
1545 loop if it wasn't started before.
1546 Signed-off-by: Christian König <christian.koenig@amd.com>
1548 2014-03-01 18:48:17 +0100 Christian König <christian.koenig@amd.com>
1550 * omx/gstomxvideodec.c:
1551 omxvideodec: fix startup race condition
1552 The reset function shouldn't start the src pad
1553 loop if it wasn't started before.
1554 Signed-off-by: Christian König <christian.koenig@amd.com>
1556 2014-02-28 09:36:13 +0100 Sebastian Dröge <sebastian@centricular.com>
1559 Automatic update of common submodule
1560 From fe1672e to bcb1518
1562 2014-02-26 22:15:00 +0100 Stefan Sauer <ensonic@users.sf.net>
1565 Automatic update of common submodule
1566 From 1a07da9 to fe1672e
1568 2014-01-30 10:45:18 +0100 Edward Hervey <bilboed@bilboed.com>
1571 Automatic update of common submodule
1572 From d48bed3 to 1a07da9
1574 2014-01-25 17:44:14 +0100 Sebastian Dröge <sebastian@centricular.com>
1576 * omx/gstomxaudioenc.c:
1577 * omx/gstomxvideodec.c:
1578 * omx/gstomxvideoenc.c:
1579 omx: Don't handle FLUSHING and NOT_LINKED as errors
1580 Also don't stop the task on NOT_LINKED. We're not a demuxer.
1582 2013-12-22 22:35:31 +0000 Tim-Philipp Müller <tim@centricular.com>
1585 Automatic update of common submodule
1586 From dbedaa0 to d48bed3
1588 2013-11-05 11:22:02 +0000 Tim-Philipp Müller <tim@centricular.com>
1591 Automatic update of common submodule
1592 From 865aa20 to dbedaa0
1594 2013-09-28 13:32:37 +0200 Josep Torra <n770galaxy@gmail.com>
1596 * examples/egl/testegl.c:
1597 examples: simplify the thread synchronization code
1598 Make everithing more simple and fix the races conditions remaining in
1599 the previous approaches.
1601 2013-09-25 19:17:17 +0200 Sebastian Dröge <slomo@circular-chaos.org>
1603 * config/rpi/gstomx.conf:
1604 rpi: The WMV/VC1 decoder can only do WMV9 and VC1, no older versions
1606 2013-09-24 18:34:42 +0100 Tim-Philipp Müller <tim@centricular.net>
1609 Automatic update of common submodule
1610 From 6b03ba7 to 865aa20
1612 2013-09-24 18:48:24 +0200 Josep Torra <n770galaxy@gmail.com>
1614 * examples/egl/testegl.c:
1615 examples: fix another race condition
1616 Fix a race condition that caused randome deadlocks on EOS.
1618 2013-09-20 17:19:53 +0200 Josep Torra <n770galaxy@gmail.com>
1620 * config/rpi/gstomx.conf:
1621 rpi: fix a copy paste error in the config file
1623 2013-09-20 17:09:52 +0200 Josep Torra <n770galaxy@gmail.com>
1625 * examples/egl/testegl.c:
1626 examples: fix a race condition when seeking
1627 Fixes a race condition that caused pipeline deadlock during seeks.
1629 2013-09-20 10:38:12 +0200 Josep Torra <n770galaxy@gmail.com>
1631 * examples/egl/testegl.c:
1632 examples: display QoS statistics
1634 2013-09-20 09:34:37 +0200 Josep Torra <n770galaxy@gmail.com>
1636 * examples/egl/testegl.c:
1637 examples: use dedicated thread for rendering the scene
1638 Produces smother animation and prevents dropping frames due busy
1641 2013-09-20 08:25:21 +0200 Josep Torra <n770galaxy@gmail.com>
1643 * examples/egl/testegl.c:
1644 examples: don't force an specific audio sink
1645 Let playbin2 choose the audiosink available in the system.
1647 2013-09-20 08:19:48 +0200 Josep Torra <n770galaxy@gmail.com>
1649 * examples/egl/Makefile.am:
1650 examples: drop remnants of initial appsink attempt
1652 2013-09-20 16:18:18 +0200 Edward Hervey <edward@collabora.com>
1655 Automatic update of common submodule
1656 From b613661 to 6b03ba7
1658 2013-09-19 18:45:36 +0100 Tim-Philipp Müller <tim@centricular.net>
1661 Automatic update of common submodule
1662 From 74a6857 to b613661
1664 2013-09-19 17:38:30 +0100 Tim-Philipp Müller <tim@centricular.net>
1667 Automatic update of common submodule
1668 From 01a7a46 to 74a6857
1670 2013-08-20 16:00:07 +0100 Tim-Philipp Müller <tim@centricular.net>
1673 * omx/gstomxvideodec.c:
1674 omx: don't use the 'z' modifier to print size_t
1675 gcc will warn in some cases even if the size of the type
1676 is exactly that of size_t on the platform.
1677 https://bugzilla.gnome.org/show_bug.cgi?id=699008
1679 2013-07-01 15:48:47 +0200 Roman Arutyunyan <arutyunyan.roman@gmail.com>
1681 * omx/gstomxvideoenc.c:
1682 gstomxvideoenc: Set bitrate in setcaps
1683 Otherwise it gets lost whenever we configure new caps
1684 https://bugzilla.gnome.org/show_bug.cgi?id=698049
1686 2013-06-30 18:17:05 +0700 Ilya Smelykh <ilya@videoexpertsgroup.com>
1688 * examples/egl/testegl.c:
1689 examples: enable audio in testegl example
1691 2013-06-12 09:38:22 +0200 Sebastian Dröge <slomo@circular-chaos.org>
1694 configure: Allow build without gstreamer-egl
1696 2013-06-07 12:39:18 +0700 Ilya Smelykh <ilya@videoexpertsgroup.com>
1698 * examples/egl/Makefile.am:
1699 * examples/egl/testegl.c:
1700 examples: testegl example port to 1.x
1701 https://bugzilla.gnome.org/show_bug.cgi?id=701706
1703 2013-06-05 15:17:16 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1706 Automatic update of common submodule
1707 From 098c0d7 to 01a7a46
1709 2013-05-20 12:06:34 +0200 Josep Torra <n770galaxy@gmail.com>
1711 * omx/gstomxaudioenc.c:
1712 * omx/gstomxvideodec.c:
1713 * omx/gstomxvideoenc.c:
1714 omx: Take lock on EOS to update the flow return value
1715 Fixes "GThread-ERROR **: file gthread-posix.c: line 171
1716 (g_mutex_free_posix_impl): error 'Device or resource busy' during
1717 'pthread_mutex_destroy ((pthread_mutex_t *) mutex)'" in _finalize.
1719 2013-05-15 10:54:12 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1722 Automatic update of common submodule
1723 From 5edcd85 to 098c0d7
1725 2013-04-11 17:35:19 +0200 Josep Torra <n770galaxy@gmail.com>
1729 * examples/Makefile.am:
1730 * examples/egl/Makefile.am:
1731 * examples/egl/cube_texture_and_coords.h:
1732 * examples/egl/testegl.c:
1733 examples: add an example aplication based OpenGL ES + EGL
1734 Application that shows how to integrate playbin with an OpenGL ES
1735 scene through EGL. Renders a video on the surfaces of an animated cube.
1736 The code is not ported to 1.x so it's not built by default.
1738 2013-05-10 12:25:07 +0200 Josep Torra <n770galaxy@gmail.com>
1740 * omx/gstomxvideodec.c:
1741 omxvideodec: Redesign video size change reconfiguration code
1742 Ensure stop the decoder before clossing the tunnel.
1744 2013-05-06 16:25:27 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1747 Makefile.am: Add -I common/m4
1748 This allows autoreconf to work correctly and automatic regeneration
1749 of autotools files if something changed.
1751 2013-05-06 19:03:59 +0530 jitendra <jvarshney20@gmail.com>
1755 * omx/gstomxaudioenc.c:
1756 * omx/gstomxvideodec.c:
1757 * omx/gstomxvideoenc.c:
1758 omx: Add pads based on element type
1759 This allows to later add sources and sink that only have a srcpad
1761 https://bugzilla.gnome.org/show_bug.cgi?id=699754
1763 2013-04-27 02:50:25 +0200 Carlos Rafael Giani <dv@pseudoterminal.org>
1766 omx: fixed type error in printf call
1768 https://bugzilla.gnome.org/show_bug.cgi?id=699008
1770 2013-04-08 17:26:16 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
1774 * omx/gstomxvideodec.c:
1775 Check for gstreamer-egl
1776 And don't use if not available.
1777 https://bugzilla.gnome.org/show_bug.cgi?id=697574
1779 2013-04-23 09:53:18 +0100 Tim-Philipp Müller <tim@centricular.net>
1782 configure: error out if no OMX target has been set explicitly with --with-omx-target=x
1783 Avoids people building for e.g. the Raspberry Pi and then wondering
1784 why things don't work as expected (since structs are packed differently
1787 2013-04-22 23:55:03 +0100 Tim-Philipp Müller <tim@centricular.net>
1790 Automatic update of common submodule
1791 From 3cb3d3c to 5edcd85
1793 2013-04-18 22:07:28 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
1796 * omx/gstomxaudioenc.c:
1797 * omx/gstomxh263enc.c:
1798 * omx/gstomxh264enc.c:
1799 * omx/gstomxmpeg4videoenc.c:
1800 * omx/gstomxvideodec.c:
1801 * omx/gstomxvideoenc.c:
1802 omx: more printf format fixes
1803 Fix printf formats again, so that gst-omx compiles warning-
1804 free on the Raspberry Pi as well. Unfortunately OMX_UINT32
1805 maybe be typedefed to uint32_t or unsigned long, which
1806 doesn't work well with our debugging printf format strings,
1807 so just use %u for those and cast to guint.
1809 2013-04-18 16:40:06 +0200 Josep Torra <n770galaxy@gmail.com>
1812 omx: fixes unused variable 'comp' when GStreamer is built without debug
1814 2013-04-18 16:03:56 +0200 Josep Torra <n770galaxy@gmail.com>
1816 * omx/gstomxvideodec.c:
1817 omxvideodec: don't use 'self->dec_out_port' anymore and use just 'port'
1818 Fixes some criticals.
1820 2013-04-18 15:21:32 +0200 Josep Torra <n770galaxy@gmail.com>
1822 * omx/gstomxvideodec.c:
1823 omxvideodec: fixes 'port' may be used uninitialized in this function
1825 2013-04-18 12:03:31 +0200 Josep Torra <n770galaxy@gmail.com>
1827 * omx/gstomxvideodec.c:
1828 omxvideodec: silence warnings building for RPI related to 'vcos_*'
1830 2013-04-18 11:19:52 +0200 Josep Torra <n770galaxy@gmail.com>
1832 * omx/gstomxvideodec.c:
1833 omxvideodec: Use new type from libgstvideo
1835 2013-04-16 14:50:49 +0530 jitendra <jvarshney20@gmail.com>
1837 * omx/gstomxaudioenc.c:
1838 * omx/gstomxvideodec.c:
1839 * omx/gstomxvideoenc.c:
1840 omx: Disable output port before transition to idle state
1841 https://bugzilla.gnome.org/show_bug.cgi?id=698109
1843 2012-10-24 12:19:41 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1846 gst: Add better support for static plugins
1848 2013-04-14 17:57:34 +0100 Tim-Philipp Müller <tim@centricular.net>
1851 Automatic update of common submodule
1852 From aed87ae to 3cb3d3c
1854 2013-04-12 17:58:30 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
1857 configure: add --disable-fatal-warnings for disabling -Werror
1859 2013-04-09 21:02:09 +0200 Stefan Sauer <ensonic@users.sf.net>
1862 Automatic update of common submodule
1863 From 04c7a1e to aed87ae
1865 2013-04-08 17:02:32 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
1868 * omx/gstomxaudioenc.c:
1869 * omx/gstomxh263enc.c:
1870 * omx/gstomxh264enc.c:
1871 * omx/gstomxmpeg4videoenc.c:
1872 * omx/gstomxvideodec.c:
1873 * omx/gstomxvideoenc.c:
1874 omx: fix printf formats in debug messages
1875 OMX_U32 is typedefed to an unsigned long,
1876 OMX_TICKS to a 64-bit integer.
1878 2013-04-08 16:52:19 +0200 Josep Torra <n770galaxy@gmail.com>
1880 * omx/gstomxvideodec.c:
1881 omxvideodec: use the correct printf format in a debug message
1883 2013-04-08 16:31:33 +0200 Josep Torra <n770galaxy@gmail.com>
1885 * omx/gstomxvideodec.c:
1886 omxvideodec: use the correct OMX_IndexParam value
1887 Fixes playback is not smooth in the EGL path.
1889 2013-04-05 13:45:24 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1891 * omx/gstomxvideodec.c:
1892 omxvideodec: Don't use API that is not in master yet
1893 It's not really needed here yet, will be needed in future versions
1895 2013-02-25 11:55:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1901 * omx/gstomxvideodec.c:
1902 * omx/gstomxvideodec.h:
1903 omxvideodec: Add support for egl_render on RPi
1905 2013-03-22 19:26:54 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
1910 2013-03-22 19:23:14 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
1912 * omx/gstomxh263enc.c:
1913 * omx/gstomxh264enc.c:
1914 * omx/gstomxmpeg4videoenc.c:
1915 omx: fix compiler warnings when compiling with -DG_DISABLE_ASSERT
1916 As we do for releases. Fixes 'variable may be used uninitialized'
1919 === release 1.0.0 ===
1921 2013-03-22 17:16:33 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1932 2013-03-19 16:40:09 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
1934 * omx/gstomxtheoradec.h:
1935 * omx/gstomxvp8dec.h:
1936 omx: fix typo in copyright headers
1938 2013-03-19 13:46:33 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1940 * config/rpi/gstomx.conf:
1941 rpi: Fix commit that added the VC1 decoder
1943 2013-03-19 13:27:35 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1945 * config/rpi/gstomx.conf:
1946 * omx/gstomxh263dec.c:
1947 * omx/gstomxh264dec.c:
1948 * omx/gstomxmjpegdec.c:
1949 * omx/gstomxmpeg2videodec.c:
1950 * omx/gstomxmpeg4videodec.c:
1951 * omx/gstomxtheoradec.c:
1952 * omx/gstomxvideodec.c:
1953 * omx/gstomxvp8dec.c:
1954 * omx/gstomxwmvdec.c:
1955 omx: Add more constraints to the default sink template caps
1957 2013-03-19 13:10:39 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1959 * config/rpi/gstomx.conf:
1960 rpi: Add VC1/WMV3 decoder
1961 WMV2 and WMV1 (aka WMV 1-8) are not supported by RPi.
1963 2013-03-19 12:59:20 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1965 * config/rpi/gstomx.conf:
1966 rpi: Add MJPEG decoder
1968 2013-03-19 12:56:50 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1970 * config/rpi/gstomx.conf:
1971 rpi: Add VP8 decoder
1973 2013-03-19 12:55:09 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1975 * omx/gstomxvideodec.c:
1976 omxvideodec: Set ENDOFFRAME flag for the end of frames
1978 2013-03-19 12:28:50 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1980 * config/rpi/gstomx.conf:
1981 rpi: Add Theora decoder to the config
1983 2013-03-19 09:36:18 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1988 * omx/gstomxtheoradec.c:
1989 * omx/gstomxtheoradec.h:
1990 omx: Add Theora decoder
1992 2013-03-18 16:43:24 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1995 omx: Remove additional comma
1997 2013-03-18 16:34:21 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1999 * config/rpi/gstomx.conf:
2002 * omx/gstomxmpeg2dec.h:
2003 * omx/gstomxmpeg2videodec.c:
2004 * omx/gstomxmpeg2videodec.h:
2005 omx: Rename MPEG2 decoder for consistency everywhere
2007 2013-03-18 16:30:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2011 * omx/gstomxmjpegdec.c:
2012 * omx/gstomxmjpegdec.h:
2013 omx: Add MJPEG decoder support
2015 2013-03-18 16:06:54 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2020 * omx/gstomxvp8dec.c:
2021 * omx/gstomxvp8dec.h:
2022 omx: Add VP8 decoder support
2024 2013-03-18 15:44:23 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2026 * config/rpi/gstomx.conf:
2027 rpi: Add h263 decoder and rename MPEG2 decoder for consistency
2029 2013-03-16 13:20:27 +0000 Tim-Philipp Müller <tim@centricular.net>
2031 * omx/gstomxmpeg2dec.c:
2032 omxmpeg2dec: mpeg-2 decoder should be able to handle mpeg-1 too
2033 https://bugzilla.gnome.org/show_bug.cgi?id=695879
2035 2013-03-16 10:13:06 +0100 Josep Torra <n770galaxy@gmail.com>
2038 omx: minor stylistic change for consistency with other similar code
2040 2013-03-16 10:00:24 +0100 Josep Torra <n770galaxy@gmail.com>
2042 * omx/gstomxaudioenc.c:
2043 * omx/gstomxvideodec.c:
2044 * omx/gstomxvideoenc.c:
2045 omx: Clarify that loop task is also paused in EOS
2047 2013-03-16 09:59:01 +0100 Josep Torra <n770galaxy@gmail.com>
2049 * omx/gstomxvideoenc.c:
2050 omxvideoenec: Don't forget propagate flow return value upstream
2052 2013-03-15 13:16:39 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
2055 omx: improve debug logging some more
2057 2013-03-15 14:09:45 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2059 * omx/gstomxvideodec.c:
2060 omxvideodec: Make sure that the first frame we pass to OpenMAX is a sync frame
2062 2013-03-15 11:46:34 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2064 * omx/gstomxaudioenc.c:
2065 * omx/gstomxvideodec.c:
2066 * omx/gstomxvideoenc.c:
2067 omx: Stop output port task after draining
2069 2013-03-15 10:58:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2072 omx: Reset EOS flag in more places
2074 2013-03-15 10:38:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2076 * omx/gstomxvideodec.c:
2077 omxvideodec: Deallocate output buffers with the right function
2079 2013-03-15 01:06:05 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
2083 omx: log commands as strings
2084 Makes logs easier to read.
2086 2013-03-15 00:47:47 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
2090 omx: log states as strings
2092 2013-03-15 00:28:02 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
2096 omx: log component name in debug messages
2097 Useful when we have more different components
2098 active at the same time.
2100 2013-03-15 09:51:42 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2102 * omx/gstomxvideodec.c:
2103 omxvideodec: Don't interpolate timestamps
2104 We will get exactly one frame per input buffer and assigning
2105 timestamps between frames if more than one OMX buffer is required
2106 per frame easily confuses timestamp tracking in OMX.
2108 2013-03-15 09:32:42 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2110 * omx/gstomxvideodec.c:
2111 omxvideodec: Give the codec_data the timestamp of the first frame and no duration
2113 2013-03-14 17:31:17 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2115 * config/rpi/gstomx.conf:
2116 omx: The MPEG4 encoder is not available on RPi and probably never will
2118 2013-03-14 17:26:30 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2121 omx: Reset some more buffer fields as required
2123 2013-03-14 17:01:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2125 * config/rpi/gstomx.conf:
2127 omx: The hack to disable usage of EOS buffers is not necessary anymore on RPi
2129 2013-03-14 17:00:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2132 omx: Reset the flags for output ports when releasing a buffer, not for input ports
2134 2013-03-14 15:03:02 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2136 * omx/gstomxh263enc.c:
2137 * omx/gstomxh264enc.c:
2138 * omx/gstomxmpeg4videoenc.c:
2139 omx: Only unref caps after usage of its fields
2141 2013-03-14 14:51:32 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2143 * omx/gstomxvideodec.c:
2144 omxvideodec: Simplify bufferpool implementation
2146 2013-03-13 13:23:35 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2148 * omx/gstomxvideodec.c:
2149 omxvideodec: Improve min/max buffer counts handling
2151 2013-03-14 12:49:42 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2155 * omx/gstomxaudioenc.c:
2156 * omx/gstomxvideodec.c:
2157 * omx/gstomxvideoenc.c:
2158 omx: Handle the OMX_EventBufferFlag to detect EOS too
2160 2013-03-13 10:29:23 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2164 omx: Mark OpenMAX buffers as EGLImage if they contain one
2165 Needs special handling in some places, e.g. because nFilledLen
2168 2013-03-13 10:21:49 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2170 * omx/gstomxvideoenc.c:
2171 omxvideoenc: Properly check the nVersion field
2173 2013-03-13 09:34:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2175 * omx/gstomxvideoenc.c:
2176 omxvideoenc: RPi returns garbage for OMX_IndexParamVideoBitrate, work around that
2178 2013-03-12 20:02:53 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2180 * omx/gstomxvideodec.c:
2181 omxvideodec: Make sure to always get the right buffer
2183 2013-03-12 19:35:39 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2185 * omx/gstomxvideodec.c:
2186 omxvideodec: Make sure the buffer is released to the pool if it's not the one we wanted
2188 2013-03-12 19:17:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2190 * omx/gstomxvideodec.c:
2191 omxvideodec: Drop too late frames instead of finishing them
2193 2013-03-12 19:16:46 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2195 * omx/gstomxvideodec.c:
2196 omx: Release buffers to the correct port
2198 2013-03-13 09:37:02 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2201 omx: Always load the OpenMAX IL cores with G_MODULE_BIND_LOCAL
2203 2013-03-12 18:20:22 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2206 omx: Lazy-load symbols of libbcm_host.so
2207 It exports eglIntOpenMAXILDoneMarker(), which is also
2208 exported by libopenmaxil.so... but we need the version
2209 from libopenmaxil.so as the other one is just a stub.
2211 2013-03-11 13:59:15 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2213 * omx/gstomxaacenc.c:
2214 * omx/gstomxh263enc.c:
2215 * omx/gstomxmpeg4videoenc.c:
2216 omx: Don't set profile/level in other encoders if downstream caps don't specify any
2218 2013-03-11 13:49:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2220 * omx/gstomxh264enc.c:
2221 omxh264enc: If caps specify no profile/level use the component's defaults
2223 2013-03-11 13:45:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2225 * omx/gstomxvideoenc.c:
2226 omxvideoenc: Always allocate output buffers from the loop function
2228 2013-03-11 13:12:57 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2230 * omx/gstomxh264enc.c:
2231 omxh264enc: The h264 encoders are supposed to output byte-stream/au
2233 2013-03-11 11:47:42 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2235 * omx/gstomxvideoenc.c:
2236 omxvideoenc: Wait until the Executing state is reached before passing buffers to the component
2238 2013-03-11 10:39:25 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2240 * omx/gstomxvideodec.c:
2241 omxvideodec: Don't provide buffers to downstream
2242 This only works reliable if we have a way to tell downstream to
2243 release all our buffers for reconfiguration.
2245 2013-03-11 10:29:44 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2247 * omx/gstomxaudioenc.c:
2248 omxaudioenc: Disable output port when setting a new format
2250 2013-03-11 10:29:30 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2252 * omx/gstomxvideoenc.c:
2253 omxvideoenc: Disable output port when setting a new format
2255 2013-03-11 10:22:07 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2257 * omx/gstomxvideodec.c:
2258 omxvideodec: Disable output port when setting a new format
2259 Based on a patch by Josep Torra <n770galaxy@gmail.com>
2261 2013-03-11 10:04:10 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2263 * omx/gstomxaudioenc.c:
2264 * omx/gstomxvideodec.c:
2265 * omx/gstomxvideoenc.c:
2266 omx: Catch errors when releasing buffers to a port and handle them
2268 2013-03-10 12:09:23 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2270 * omx/gstomxvideoenc.c:
2271 omxvideoenc: Use the correct video codec state when filling an input buffer
2273 2013-03-10 12:05:50 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2275 * omx/gstomxvideoenc.c:
2276 omxvideoenc: Store correct input state
2278 2013-03-10 11:27:34 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2280 * omx/gstomxvideoenc.c:
2281 omxvideoenc: Allocate output buffers as early as possible
2283 2013-03-10 11:01:57 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2286 omx: Log unknown events
2288 2013-03-09 14:14:40 +0100 Josep Torra <n770galaxy@gmail.com>
2290 * omx/gstomxaudioenc.c:
2291 * omx/gstomxvideodec.c:
2292 * omx/gstomxvideoenc.c:
2293 omx: Fix deadlock in encoders and add explainatory comments.
2295 2013-03-09 13:27:08 +0100 Josep Torra <n770galaxy@gmail.com>
2297 * omx/gstomxvideodec.c:
2298 omxvideodec: fix printf format identifier
2300 2013-03-09 13:07:59 +0100 Josep Torra <n770galaxy@gmail.com>
2302 * omx/gstomxvideodec.c:
2303 omx: Minor changes on debuging info
2305 2013-03-09 13:00:33 +0100 Josep Torra <n770galaxy@gmail.com>
2307 * omx/gstomxvideodec.c:
2308 omxvideodec: avoid a deadlock
2310 2013-03-08 15:56:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2312 * omx/gstomxvideodec.c:
2313 omxvideodec: Don't forget to populate output port
2315 2013-03-08 15:11:27 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2317 * omx/gstomxaudioenc.c:
2318 * omx/gstomxvideodec.c:
2319 * omx/gstomxvideoenc.c:
2320 omx: Flush and stop srcpad when configuring new caps
2322 2013-03-07 17:40:21 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2324 * config/rpi/gstomx.conf:
2326 Revert "omx: use no-component-reconfigure hack on the Raspberry PI"
2327 This reverts commit e123b2089f69a413241f30a2428ea6edd8f231e7.
2328 It's not required anymore after the fix from the last commit.
2330 2013-03-07 17:38:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2332 * omx/gstomxvideodec.c:
2333 omxvideodec: Only negotiate a color format with downstream on the initial caps
2335 2013-03-07 17:29:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2337 * omx/gstomxvideodec.c:
2338 omxvideodec: Make sure the output port is disabled while we allocate buffers
2340 2013-03-07 17:27:05 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2343 omx: Also wait for disabled output ports to be reconfigured
2345 2013-03-07 14:10:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2347 * omx/gstomxvideodec.c:
2348 * omx/gstomxvideodec.h:
2349 omxvideodec: Add buffer pool for sharing OpenMAX memory with downstream
2351 2013-03-07 11:11:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2355 * omx/gstomxaudioenc.c:
2356 * omx/gstomxvideodec.c:
2357 * omx/gstomxvideoenc.c:
2358 omx: Add timeout to the flush operation and move buffer populating to a separate function
2360 2013-03-06 17:33:23 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2362 * config/rpi/gstomx.conf:
2365 omx: Remove min buffer count hack for RPi again
2366 It's not necessary anymore
2368 2013-03-06 17:05:51 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2372 * omx/gstomxaudioenc.c:
2373 * omx/gstomxvideodec.c:
2374 * omx/gstomxvideoenc.c:
2375 omx: Do number of buffers configuration explicitely
2377 2013-03-07 11:24:54 +0100 Josep Torra <n770galaxy@gmail.com>
2379 * omx/gstomxvideodec.c:
2380 omxvideodec: fixes reconfiguration
2381 Avoid having fixed fields from previous caps on reconfiguration.
2383 2013-03-07 11:02:39 +0100 Josep Torra <n770galaxy@gmail.com>
2385 * config/rpi/gstomx.conf:
2387 omx: use no-component-reconfigure hack on the Raspberry PI
2389 2013-03-07 00:03:28 +0000 Tim-Philipp Müller <tim@centricular.net>
2392 Automatic update of common submodule
2393 From 2de221c to 04c7a1e
2395 2013-03-01 15:32:47 +0100 Josep Torra <n770galaxy@gmail.com>
2397 * omx/gstomxvideoenc.h:
2398 omxvideoenc: drop unused data member
2400 2013-03-01 12:23:54 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2402 * omx/gstomxh263enc.c:
2403 * omx/gstomxh264enc.c:
2404 * omx/gstomxmpeg4videoenc.c:
2405 omxvideoenc: And set it actually on the right port
2407 2013-03-01 12:18:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2409 * omx/gstomxh263enc.c:
2410 * omx/gstomxh264enc.c:
2411 * omx/gstomxmpeg4videoenc.c:
2412 omxvideoenc: Set the coding type in the subclasses to the specific codec
2414 2013-03-01 11:49:53 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2416 * omx/gstomxvideoenc.c:
2417 omxvideoenc: gst_omx_port_update_port_definition() returns a OMX_ERRORTYPE, not a gboolean
2419 2013-03-01 11:44:17 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2421 * omx/gstomxvideodec.c:
2422 * omx/gstomxvideoenc.c:
2423 omxvideo{dec,enc}: Don't use the input state if it wasn't set yet
2425 2013-03-01 11:25:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2427 * omx/gstomxaudioenc.c:
2428 omxaudioenc: Only enable the output port after we know the output format
2430 2013-03-01 11:24:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2432 * omx/gstomxvideoenc.c:
2433 omxvideoenc: Only enable the output port after we know the output format
2435 2013-02-28 17:02:31 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2437 * omx/gstomxvideodec.c:
2438 omxvideodec: Only enable the output port after we know the output format
2440 2013-03-01 11:18:18 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2444 omx: Handle errors more gracefully
2446 2013-02-28 15:48:53 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2450 * omx/gstomxaudioenc.c:
2451 * omx/gstomxh263dec.c:
2452 * omx/gstomxh264dec.c:
2453 * omx/gstomxmpeg2dec.c:
2454 * omx/gstomxmpeg4videodec.c:
2455 * omx/gstomxvideodec.c:
2456 * omx/gstomxwmvdec.c:
2457 omx: Return the OMX_ERRORTYPE from gst_omx_port_update_port_definition
2459 2013-02-28 15:37:53 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2462 omx: Return port definition update errors
2464 2013-02-28 13:57:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2466 * config/rpi/gstomx.conf:
2469 omx: Add hack for RPi for the minimum number of buffers required for a port
2470 The value in the port definition is invalid and the initial actual
2471 buffer count should be used.
2473 2013-02-28 13:26:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2476 omx: Always tell the component about the right number of buffers that we're going to allocate
2478 2013-02-28 13:07:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2481 omx: Invert assertion to let it express what was intended
2483 2013-02-28 11:19:07 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2487 * omx/gstomxaudioenc.c:
2488 * omx/gstomxvideodec.c:
2489 * omx/gstomxvideoenc.c:
2490 omx: Add API for allocating a specific number of buffers and using EGLImages or buffers allocated elsewhere
2492 2013-02-27 16:55:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2494 * omx/gstomxaudioenc.c:
2495 * omx/gstomxvideodec.c:
2496 * omx/gstomxvideoenc.c:
2497 omx: Refactor code flow a bit if output port settings have changed
2499 2013-02-27 15:49:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2503 * omx/gstomxaudioenc.c:
2504 * omx/gstomxvideodec.c:
2505 * omx/gstomxvideoenc.c:
2506 omx: Clean up port settings change handling
2508 2013-02-27 11:30:14 +0100 Josep Torra <n770galaxy@gmail.com>
2510 * omx/gstomxvideodec.c:
2511 omxvideodec: initialize param structure before using it
2513 2013-02-27 10:21:39 +0100 Josep Torra <n770galaxy@gmail.com>
2515 * omx/gstomxvideoenc.c:
2516 omxvideoenc: prevent a NULL pointer access
2518 2013-02-26 17:25:49 +0100 Josep Torra <n770galaxy@gmail.com>
2520 * omx/gstomxvideodec.c:
2521 omxvideodec: prevent a NULL pointer access
2523 2013-02-25 13:11:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2526 omx: Fix deadlock during reconfiguration
2528 2013-02-25 12:38:27 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2531 * omx/gstomxaudioenc.c:
2532 * omx/gstomxvideodec.c:
2533 * omx/gstomxvideoenc.c:
2534 omx: Auto-detect the port indizes if possible
2536 2013-02-25 11:42:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2538 * omx/gstomxvideodec.c:
2539 * omx/gstomxvideoenc.c:
2540 omx: Refactor querying of component supported caps into its own function
2542 2013-02-25 10:41:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2546 * omx/gstomxaudioenc.c:
2547 * omx/gstomxvideodec.c:
2548 * omx/gstomxvideoenc.c:
2549 omx: Refactor waiting for buffers to be released by the component to a separate function
2551 2013-01-11 17:44:13 +0000 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2555 omx: Add methods to set up and close a tunnel between components
2557 2013-02-25 09:15:53 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2559 * omx/gstomxaacenc.c:
2560 * omx/gstomxaudioenc.c:
2561 * omx/gstomxaudioenc.h:
2562 omxaudioenc: Rename component variable
2564 2013-02-25 09:15:46 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2566 * omx/gstomxh263enc.c:
2567 * omx/gstomxh264enc.c:
2568 * omx/gstomxmpeg4videoenc.c:
2569 * omx/gstomxvideoenc.c:
2570 * omx/gstomxvideoenc.h:
2571 omxvideoenc: Rename component variable
2573 2013-02-25 09:12:22 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2575 * omx/gstomxvideodec.c:
2576 * omx/gstomxvideodec.h:
2577 omxvideodec: Rename component variable
2579 2013-02-22 16:27:33 +0100 Josep Torra <n770galaxy@gmail.com>
2581 * omx/gstomxvideoenc.c:
2582 omxvideoenc: remove duplicated line
2584 2013-02-22 10:42:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2587 Retry loading libbcm_host.so without an absolute path if that failed
2589 2013-02-21 20:32:42 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2591 * config/bellagio/Makefile.am:
2592 Add missing file from last commit
2594 2013-02-21 11:01:28 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2596 * config/Makefile.am:
2597 * config/bellagio/gstomx.conf:
2600 Add OpenMAX IL target for Bellagio
2601 Not tested since a very long time though.
2603 2013-02-21 10:59:29 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2607 Allow using external OpenMAX IL headers
2609 2013-02-21 10:14:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2614 2013-02-21 10:13:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2616 * config/Makefile.am:
2617 * config/rpi/Makefile.am:
2618 * config/rpi/gstomx.conf:
2620 Install the RPI config when the RPI target is selected
2622 2013-02-21 10:08:07 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2625 Set default hacks for the RPI target and always initialize bcm_host
2627 2013-02-21 10:05:37 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2630 Add configure parameter for setting the OpenMAX IL target
2632 2013-02-12 11:55:39 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2635 omx: Add FIXME for the future
2637 2013-02-12 11:49:21 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2641 * omx/gstomxaudioenc.c:
2642 * omx/gstomxaudioenc.h:
2643 * omx/gstomxvideodec.c:
2644 * omx/gstomxvideodec.h:
2645 * omx/gstomxvideoenc.c:
2646 * omx/gstomxvideoenc.h:
2647 omx: Some minor refactoring and cleanup
2649 2013-02-12 11:45:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2652 omx: Don't access the port's buffers array if it wasn't allocated yet
2654 2013-02-12 11:44:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2657 omx: Mark an array as const
2659 2013-02-12 11:41:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2663 * omx/gstomxaudioenc.c:
2664 * omx/gstomxvideodec.c:
2665 * omx/gstomxvideoenc.c:
2666 omx: Split enabling/disabling of port into sending the command and waiting for it
2667 This allows to do anything necessary after sending the command to actually let it finish
2669 2013-02-12 11:37:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2672 omx: Flushing is also allowed in Paused state
2674 2013-02-12 11:28:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2676 * omx/gstomxvideoenc.c:
2677 omxvideoenc: Set stride, slice height and buffer size
2679 2013-02-12 11:09:30 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2681 * config/raspberry-pi.conf:
2682 config: Add h264 and mpeg2 encoders to the raspberry pi config
2683 Not completely working yet though.
2685 2013-02-12 11:03:32 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2687 * omx/gstomxvideoenc.c:
2688 omxvideoenc: Properly negotiate OMX color format with the component
2690 2013-02-12 10:53:24 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2692 * omx/gstomxvideoenc.c:
2693 omxvideoenc: Implement getcaps() vfunc
2695 2013-01-29 21:32:53 +0000 Tim-Philipp Müller <tim@centricular.net>
2698 configure: use 1.0 gstconfig.h to detect disabled subsystems
2699 Update unused configure check for GStreamer core subsystem
2700 features from 0.10 to 1.0.
2702 2013-01-28 20:44:41 +0100 Stefan Sauer <ensonic@users.sf.net>
2705 Automatic update of common submodule
2706 From a942293 to 2de221c
2708 2013-01-24 14:02:36 +0100 Julian Scheel <julian@jusst.de>
2710 * config/raspberry-pi.conf:
2713 * omx/gstomxmpeg2dec.c:
2714 * omx/gstomxmpeg2dec.h:
2715 omx: add mpeg2 video decoder
2716 This adds a decoder class for mpeg2, as well as an extended
2717 configuration for raspberry pi.
2718 https://bugzilla.gnome.org/show_bug.cgi?id=692446
2719 Signed-off-by: Julian Scheel <julian@jusst.de>
2721 2013-01-18 16:47:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2724 omx: Minimize the time when the messages lock is held
2725 Fixes a deadlock if any OMX functions are called when the
2726 messages are handled.
2727 Thanks to Nicolas Dufresne for noticing.
2729 2013-01-18 15:28:20 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
2732 omx: improve debug message when we can't find the config file
2733 Mention where we looked for the config file.
2735 2013-01-18 12:34:38 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
2738 build: fix autogen.sh with automake 1.13
2739 AM_CONFIG_HEADER -> AC_CONFIG_HEADERS
2741 2013-01-17 18:07:41 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2744 * omx/gstomxaudioenc.h:
2745 * omx/gstomxvideodec.h:
2746 * omx/gstomxvideoenc.h:
2747 omx: Fix includes to properly work with the 1.0 releases
2749 2013-01-15 15:08:28 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
2752 Automatic update of common submodule
2753 From a72faea to a942293
2755 2013-01-15 14:34:45 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2758 omx: Update port definition when changing some port setting
2760 2013-01-14 11:41:57 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2764 omx: Rename from libgstopenmax.so to ligstomx.so for consistency
2766 2013-01-11 15:32:22 +0000 Nicolas Dufresne <nicolas.dufresne@collabora.com>
2769 omx: Add a method to send message
2771 2013-01-11 15:44:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2775 omx: Atomic ops are not required anymore for the reconfiguration
2777 2013-01-11 12:52:10 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2779 * omx/gstomxaudioenc.c:
2780 * omx/gstomxvideodec.c:
2781 * omx/gstomxvideoenc.c:
2782 omx: Fix some memory leaks and suboptimal locking
2784 2013-01-11 12:34:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2786 * omx/gstomxvideoenc.c:
2787 omxvideoenc: Don't forget to unmap frame in error cases
2789 2013-01-11 12:29:20 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2791 * omx/gstomxvideoenc.c:
2792 omxvideoenc: Fix copying of the video frames to the OMX buffers
2794 2013-01-11 12:24:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2796 * omx/gstomxvideodec.c:
2797 omxvideodec: Fix copying of the video frames from the OMX buffers
2799 2013-01-10 14:44:33 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2804 * omx/gstomxaudioenc.c:
2805 * omx/gstomxrecmutex.c:
2806 * omx/gstomxrecmutex.h:
2807 omx: Implement new approach for locking that should solve all deadlocks on RPi
2808 No mutex is locked while calling any OpenMAX functions anymore
2809 and everything from the OpenMAX callbacks is inserted into a message
2810 queue and handled from outside the callbacks.
2811 Also there's only a single mutex and condition variable per component
2812 now for handling anything from OpenMAX callbacks and a single mutex
2813 for keeping our component/port state sane.
2815 2012-12-20 19:30:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2817 * omx/gstomxvideodec.c:
2818 omxvideodec: Set the OMX buffer nFilledLength field properly
2820 2012-12-20 18:48:21 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2822 * omx/gstomxrecmutex.c:
2823 * omx/gstomxrecmutex.h:
2824 omxrecmutex: Fix another race condition when two threads are trying to lock for recursion at the same time
2826 2012-12-20 18:16:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2828 * omx/gstomxrecmutex.c:
2829 * omx/gstomxrecmutex.h:
2830 omxrecmutex: Fix yet another race condition that resulted in deadlocks
2832 2012-12-20 17:46:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2835 * omx/gstomxrecmutex.c:
2836 * omx/gstomxrecmutex.h:
2837 omx: Fix another race condition in the recursive mutex
2838 Between lock() and begin_recursion() it was possible for another thread to
2839 try to do a recursive_lock(). This would block because the mutex was already
2840 locked(), but not ready for recursive locking yet. unlock() would never
2841 happen in the original thread because it was waiting for the other thread
2843 Happened on the Raspberry Pi.
2845 2012-12-20 14:45:18 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2847 * omx/gstomxrecmutex.c:
2848 * omx/gstomxrecmutex.h:
2849 omxrecmutex: Fix a small race condition when unlocking a non-recursive lock
2851 2012-12-20 12:30:05 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2853 * omx/gstomxaudioenc.c:
2854 * omx/gstomxvideodec.c:
2855 * omx/gstomxvideoenc.c:
2856 omx: Fix ununsed variable compiler warning
2858 2012-12-20 12:27:47 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2860 * omx/gstomxaudioenc.c:
2861 * omx/gstomxvideodec.c:
2862 * omx/gstomxvideoenc.c:
2863 omx: No need to start the srcpad task in ::start() already
2864 It will be started properly after the caps are set.
2866 2012-12-20 12:23:49 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2868 * omx/gstomxvideodec.c:
2869 omxvideodec: OMX_ErrorNoMore is no error and just means we ended iteration
2871 2012-12-20 12:20:31 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2873 * omx/gstomxaudioenc.c:
2874 * omx/gstomxvideodec.c:
2875 * omx/gstomxvideoenc.c:
2876 omx: Improve debug output
2878 2012-12-20 12:02:30 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2880 * omx/gstomxvideodec.c:
2881 omxvideodec: Don't forget to free a GList
2883 2012-12-20 11:56:29 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2885 * omx/gstomxvideodec.c:
2886 omxvideodec: Map OMX_COLOR_FormatYUV420PackedPlanar to I420 too
2887 This is used on the Raspberry Pi.
2889 2012-12-20 11:55:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2891 * omx/gstomxvideodec.c:
2892 omxvideodec: During negotiation of the output format make sure we use the correct OpenMAX format
2894 2012-12-20 11:42:17 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2896 * omx/gstomxvideodec.c:
2897 omxvideodec: If negotiation fails this could also mean that the component can't do it at this point yet
2899 2012-12-20 11:40:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2901 * omx/gstomxvideodec.c:
2902 omxvideodec: Improve format negotiation a bit
2903 Don't leak caps and make sure to fixate caps.
2905 2012-12-19 13:05:28 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2908 omx: Also initialize nStep field of the OMX structures
2910 2012-12-19 13:03:37 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2913 omx: Initialize struct version with the OMX version we compiled with
2915 2012-12-19 12:44:31 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2917 * omx/gstomxvideodec.c:
2918 omxvideodec: Extract data from the input buffer, not the codec data
2920 2012-12-19 12:19:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2923 * tools/listcomponents.c:
2924 omx: Use has_suffix() instead of has_prefix() for the Broadcom hack
2926 2012-12-19 12:08:35 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2930 * tools/Makefile.am:
2931 * tools/listcomponents.c:
2932 tools: Add tool to list all components and their roles
2934 2012-12-19 11:31:51 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2937 omx: Add hack to load and initialize libbcm_host.so
2938 Needed on the Raspberry Pi. Patch based on a patch by
2939 George Kiagiadakis <george.kiagiadakis@collabora.com>
2941 2012-12-19 11:22:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2945 configure: Add configure option to pack OpenMAX structures
2946 This is required to set to 4 for the Raspberry Pi for example.
2948 2012-12-19 11:07:44 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2951 configure: Require GStreamer 1.0.0
2953 2012-04-20 17:13:52 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
2956 omx: Initialize structures to version 1.1.2
2958 2012-12-19 09:51:22 +0000 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2961 * config/Makefile.am:
2962 * config/raspberry-pi.conf:
2964 config: Add raspberry-pi configuration in a different directory
2966 2012-05-20 20:11:59 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
2968 * omx/gstomx-raspberry.conf:
2969 raspberry: Add a gstomx.conf for the Raspberry Pi
2971 2012-12-12 17:45:39 +0000 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2974 * omx/gstomxvideoenc.h:
2975 omx: Fix some compilation errors caused by circular includes
2977 2012-11-19 11:29:44 +0000 Tim-Philipp Müller <tim@centricular.net>
2980 Automatic update of common submodule
2981 From 6bb6951 to a72faea
2983 2012-11-12 15:14:09 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2985 * omx/gstomxvideodec.c:
2986 * omx/gstomxvideoenc.c:
2987 omx: Fix refcount problem with frames being dropped because of decoder bugs
2989 2012-11-12 11:29:48 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2993 * omx/gstomxaudioenc.c:
2994 * omx/gstomxaudioenc.h:
2995 * omx/gstomxrecmutex.c:
2996 * omx/gstomxrecmutex.h:
2997 * omx/gstomxvideodec.c:
2998 * omx/gstomxvideodec.h:
2999 * omx/gstomxvideoenc.c:
3000 * omx/gstomxvideoenc.h:
3001 omx: Update to new GLib thread API
3003 2012-10-22 14:34:53 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3005 * omx/gstomxvideodec.c:
3006 * omx/gstomxvideoenc.c:
3007 omx: Use open/close vfuncs
3009 2012-10-22 14:28:04 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3011 * omx/gstomxvideodec.c:
3012 * omx/gstomxvideoenc.c:
3013 omx: Handle video meta correctly
3015 2012-06-20 13:11:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3018 * omx/gstbasevideocodec.c:
3019 * omx/gstbasevideocodec.h:
3020 * omx/gstbasevideodecoder.c:
3021 * omx/gstbasevideodecoder.h:
3022 * omx/gstbasevideoencoder.c:
3023 * omx/gstbasevideoencoder.h:
3024 * omx/gstbasevideoutils.c:
3025 * omx/gstbasevideoutils.h:
3026 * omx/gstomxh263dec.c:
3027 * omx/gstomxh263enc.c:
3028 * omx/gstomxh264dec.c:
3029 * omx/gstomxh264enc.c:
3030 * omx/gstomxmpeg4videodec.c:
3031 * omx/gstomxmpeg4videoenc.c:
3032 * omx/gstomxvideodec.c:
3033 * omx/gstomxvideodec.h:
3034 * omx/gstomxvideoenc.c:
3035 * omx/gstomxvideoenc.h:
3036 * omx/gstomxwmvdec.c:
3037 omx: Port to video base classes from -base
3039 2012-10-17 17:57:43 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
3041 * omx/gstomxaacenc.c:
3042 * omx/gstomxh263dec.c:
3043 * omx/gstomxh263enc.c:
3044 * omx/gstomxh264dec.c:
3045 * omx/gstomxh264enc.c:
3046 * omx/gstomxmpeg4videodec.c:
3047 * omx/gstomxmpeg4videoenc.c:
3048 * omx/gstomxwmvdec.c:
3049 omx: gst_element_class_set_details_simple() -> set_static_metadata()
3051 2012-10-06 15:01:11 +0100 Tim-Philipp Müller <tim@centricular.net>
3054 Automatic update of common submodule
3055 From 6c0b52c to 6bb6951
3057 2012-09-22 16:10:38 +0100 Tim-Philipp Müller <tim@centricular.net>
3060 Automatic update of common submodule
3061 From 4f962f7 to 6c0b52c
3063 2012-06-21 20:22:13 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
3066 omx: fix debug statement
3068 2012-06-21 20:21:03 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
3071 omx: use recursive_lock inside set_last_error(), since this function may be called from an event handler
3073 2012-08-22 13:31:59 +0200 Stefan Sauer <ensonic@users.sf.net>
3076 Automatic update of common submodule
3077 From 668acee to 4f962f7
3079 2012-08-05 16:42:43 +0100 Tim-Philipp Müller <tim@centricular.net>
3082 Automatic update of common submodule
3083 From 94ccf4c to 668acee
3085 2012-08-03 19:32:13 +0100 Tim-Philipp Müller <tim@centricular.net>
3088 omx: fix plugin name for new GST_PLUGIN_DEFINE API
3090 2012-07-23 08:47:32 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3093 Automatic update of common submodule
3094 From 98e386f to 94ccf4c
3096 2012-07-10 09:57:09 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3098 * omx/gstbasevideodecoder.c:
3099 omx: Update for allocation query API changes
3101 2012-06-20 11:09:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3103 * omx/gstomxaudioenc.c:
3104 * omx/gstomxvideodec.c:
3105 * omx/gstomxvideoenc.c:
3106 omx: Fix compilation after gst_pad_start_task() API changes
3108 2012-06-08 15:06:35 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
3111 Automatic update of common submodule
3112 From 03a0e57 to 98e386f
3114 2012-06-06 18:20:18 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
3117 Automatic update of common submodule
3118 From 1fab359 to 03a0e57
3120 2012-06-01 10:30:27 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
3123 Automatic update of common submodule
3124 From f1b5a96 to 1fab359
3126 2012-05-31 13:10:33 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3129 Automatic update of common submodule
3130 From 92b7266 to f1b5a96
3132 2012-05-30 12:47:59 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3135 Automatic update of common submodule
3136 From ec1c4a8 to 92b7266
3138 2012-05-30 11:26:30 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3141 Automatic update of common submodule
3142 From 3429ba6 to ec1c4a8
3144 2012-05-13 15:58:10 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3147 Automatic update of common submodule
3148 From dc70203 to 3429ba6
3150 2012-05-08 16:13:32 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
3153 omx: Fix spelling mistake found by lintian: s/Seperate/Separate/
3155 2012-04-30 23:58:43 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
3160 * omx/gstomxaudioenc.c:
3161 * omx/gstomxrecmutex.c:
3162 * omx/gstomxrecmutex.h:
3163 * omx/gstomxvideodec.c:
3164 * omx/gstomxvideoenc.c:
3165 Implement a new custom recursive mutex type and fix locking in callbacks so that in-context calls are allowed.
3166 According to the OMX specification, implementations are allowed to call
3167 callbacks in the context of their function calls. However, our callbacks
3168 take locks and this causes deadlocks if the unerlying OMX implementation
3169 uses this kind of in-context calls.
3170 A solution to the problem would be a recursive mutex. However, a normal
3171 recursive mutex does not fix the problem because it is not guaranteed
3172 that the callbacks are called from the same thread. What we see in Broadcom's
3173 implementation for example is:
3175 - OMX_Foo waits on a condition
3176 - A callback is executed in a different thread
3177 - When the callback returns, its calling function
3178 signals the condition that OMX_Foo waits on
3179 - OMX_Foo wakes up and returns
3180 The solution I came up with here is to take a second lock inside the callback,
3181 but only if recursion is expected to happen. Therefore, all calls to OMX
3182 functions are guarded by calls to gst_omx_rec_mutex_begin_recursion() / _end_recursion(),
3183 which effectively tells the mutex that at this point we want to allow calls
3184 to _recursive_lock() to succeed, although we are still holding the master lock.
3186 2012-04-20 14:51:34 +0000 George Kiagiadakis <george.kiagiadakis@collabora.com>
3190 omx: Add hack to disable setting roles to components.
3194 2012-04-30 23:20:24 +0000 George Kiagiadakis <george.kiagiadakis@collabora.com>
3197 * omx/gstomxvideodec.c:
3198 omxvideodec: Implement no-empty-eos-buffer hack, as in omxvideoenc.
3200 omx/gstomxvideodec.c
3202 2012-04-30 23:19:55 +0000 George Kiagiadakis <george.kiagiadakis@collabora.com>
3204 * omx/gstomxvideodec.c:
3205 omxvideodec: Fix coding style in the drain-may-not-return hack code
3207 2012-04-25 19:03:48 +0530 Arun Raghavan <arun.raghavan@collabora.co.uk>
3210 omx: Fix trivial debug print bug
3212 2012-04-25 19:01:32 +0530 Arun Raghavan <arun.raghavan@collabora.co.uk>
3216 * omx/gstomxvideodec.c:
3217 omxvideodec: Add hack for Ducati components not returning from drain
3218 This happens on the Galaxy Nexus, and causes the pipeline to hang waiting
3219 endlessly for a drain. The hack replaces the wait with a wait + 500ms timeout.
3221 2012-04-25 16:35:40 +0530 Arun Raghavan <arun.raghavan@collabora.co.uk>
3224 omx: Fix deadlock between ending a flush and the event handler
3225 gst_omx_port_set_flushing() calls OMX_FillThisBuffer at the end of a flush
3226 without releasing the port lock, and this can cause a deadlock with the
3227 EventHandler. This patches fixes this by dropping the lock for the duration of
3228 the fill buffer call.
3230 2012-04-24 15:41:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3232 * omx/gstbasevideodecoder.c:
3233 * omx/gstbasevideoencoder.c:
3234 omx: Update video encoder/decoder base classes from gst-plugins-bad
3236 2012-04-16 09:16:10 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3239 configure: Modernize autotools setup a bit
3240 Also we now only create tar.bz2 and tar.xz tarballs.
3242 2012-04-16 09:12:37 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3245 Automatic update of common submodule
3247 2012-04-16 08:34:56 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3249 * omx/gstomxaudioenc.c:
3250 omxaudioenc: Use gst_buffer_extract() to copy the input buffer data to the OpenMAX buffer
3252 2012-04-13 17:16:42 -0400 Alessandro Decina <alessandro.decina@collabora.com>
3255 Fix relative/absolute path glitch
3256 Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@collabora.com>
3258 2012-04-12 15:57:32 -0400 Olivier Crête <olivier.crete@collabora.com>
3263 * omx/gstbasevideocodec.c:
3264 * omx/gstbasevideocodec.h:
3265 * omx/gstbasevideodecoder.c:
3266 * omx/gstbasevideodecoder.h:
3267 * omx/gstbasevideoencoder.c:
3268 * omx/gstbasevideoencoder.h:
3271 * omx/gstomxaacenc.c:
3272 * omx/gstomxaudioenc.c:
3273 * omx/gstomxaudioenc.h:
3274 * omx/gstomxh263dec.c:
3275 * omx/gstomxh263enc.c:
3276 * omx/gstomxh264dec.c:
3277 * omx/gstomxh264enc.c:
3278 * omx/gstomxmpeg4videodec.c:
3279 * omx/gstomxmpeg4videoenc.c:
3280 * omx/gstomxvideodec.c:
3281 * omx/gstomxvideodec.h:
3282 * omx/gstomxvideoenc.c:
3283 * omx/gstomxvideoenc.h:
3284 * omx/gstomxwmvdec.c:
3287 2012-01-18 16:53:16 -0300 Reynaldo H. Verdejo Pinochet <reynaldo@collabora.com>
3291 Enable building with Android's buildsystem
3292 This change adds prelimary buildsystem hooks to
3293 build gst-omx with the Android buildsystem. Like
3294 the rest of GStreamer's Android hooks, the process
3295 relies on the availability of androgenizer. A tool
3296 developed by Collabora to automatically generate
3297 Android.mk files from within the auto* setup.
3298 Androgenizer is currently available at:
3299 http://cgit.collabora.com/git/user/derek/androgenizer.git/
3301 2011-12-13 10:17:41 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3303 * omx/gstbasevideocodec.c:
3304 basevideocodec: Don't use G_TYPE_REGISTER_BOXED() yet
3305 This would require GLib 2.26.
3307 2011-12-14 10:09:34 +0100 Jonas Larsson <Jonas.Larsson@palm.com>
3309 * omx/gstomxaudioenc.c:
3310 omxaudioenc: Add hack for encoder components that don't allow empty EOS buffers
3312 2011-12-14 10:07:29 +0100 Jonas Larsson <Jonas.Larsson@palm.com>
3314 * omx/gstomxvideoenc.c:
3315 omxvideoenc: Fix deadlock when using the EOS hack
3317 2011-12-12 14:26:48 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3319 * omx/gstomxvideoenc.c:
3320 omxvideoenc: Remove workaround for basevideocodec bug
3322 2011-12-12 14:26:34 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3324 * omx/gstomxvideodec.c:
3325 omxvideodec: Remove workaround for basevideocodec bug
3327 2011-12-05 17:57:01 +0000 Matej Knopp <matej.knopp@gmail.com>
3329 * omx/gstbasevideocodec.c:
3330 * omx/gstbasevideocodec.h:
3331 * omx/gstbasevideodecoder.c:
3332 * omx/gstbasevideoencoder.c:
3333 basevideo: Make GstVideoFrame a reference counted boxed object
3334 ...and also clear all existing frames when resetting the decoder or encoder.
3336 2011-12-09 12:17:29 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3340 * omx/gstomxvideoenc.c:
3341 omx: Add hack for encoder components that don't allow empty EOS buffers
3343 2011-12-09 10:21:47 +0100 Dake Gu <Dake.Gu@palm.com>
3345 * omx/gstomxaacenc.c:
3346 omxaacenc: Generate and set codec_data on the caps for raw AAC
3348 2011-10-31 11:36:06 +0100 Alessandro Decina <alessandro.decina@collabora.co.uk>
3350 * omx/gstbasevideoencoder.c:
3351 basevideoencoder: handle failures in start() and stop()
3353 2011-08-26 10:50:38 +0100 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
3355 * omx/gstbasevideoencoder.c:
3356 basevideoenc: do not try to calculate latency from an unknown framerate
3357 It'll divide by zero, and latency is unknown for an unknown framerate.
3358 Fixes an assert in the schroenc test.
3359 https://bugzilla.gnome.org/show_bug.cgi?id=657419
3361 2011-12-08 11:50:49 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3363 * omx/gstbasevideoencoder.c:
3364 basevideoencoder: Only make the header buffer metadata writable, not the buffer
3366 2011-12-08 10:18:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3368 * omx/gstbasevideoencoder.c:
3369 basevideoencoder: Fix handling of force-keyunit events
3371 2011-12-06 13:28:41 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3373 * omx/gstomxaudioenc.c:
3374 omxaudioenc: Don't forward EOS events immediately but let all other events be handled by the base class
3375 Previously this logic was inversed, which did not make any sense at all.
3377 2011-12-06 12:47:25 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3379 * omx/gstomxaudioenc.c:
3380 * omx/gstomxaudioenc.h:
3381 omxaudioenc: Use correct timestamp, duration and filled length for the EOS buffers
3383 2011-12-06 12:47:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3385 * omx/gstomxvideodec.c:
3386 * omx/gstomxvideodec.h:
3387 omxvideodec: Use correct timestamp, duration and filled length for the EOS buffers
3389 2011-12-06 12:46:51 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3391 * omx/gstomxvideoenc.c:
3392 * omx/gstomxvideoenc.h:
3393 omxvideoenc: Use correct timestamp, duration and filled length for the EOS buffers
3395 2011-12-05 13:18:09 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3398 omx: Improve debugging of buffer handling
3400 2011-12-05 08:12:48 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3402 * omx/gstomxvideoenc.c:
3403 omxvideoenc: Drop EOS events in ::finish()
3404 The event will be forwarded downstream from the srcpad
3405 loop function after the last buffer was generated by the
3406 component. Forwarding it after ::finish() will use the
3407 sinkpad streaming thread and does not guarantee that
3408 the encoder is completely drained.
3410 2011-12-01 16:20:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3412 * omx/gstomxvideodec.c:
3413 omxvideodec: Properly drop frames due to QoS
3414 Instead of finishing them they should be passed to drop(), which
3415 will then send QoS messages.
3417 2011-11-29 12:21:32 +0100 Jonas Larsson <jonas@hallerud.se>
3419 * omx/gstomxh264enc.c:
3420 omxh264enc: Add support for resending headers after a forced-keyframe
3422 2011-11-29 12:12:33 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3424 * omx/gstbasevideocodec.h:
3425 * omx/gstbasevideoencoder.c:
3426 basevideoencoder: Pass the all-headers field of the force-key-unit event to the subclass
3428 2011-11-29 12:12:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3430 * omx/gstbasevideoencoder.c:
3431 * omx/gstbasevideoencoder.h:
3432 basevideoencoder: Implement full support for the new force-key-unit event
3433 Including support for the running-time and count fields.
3435 2011-11-29 09:31:11 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3437 * omx/gstbasevideoencoder.c:
3438 basevideoencoder: Use new force-keyunit event API from gst-plugins-base
3440 2011-11-29 09:18:19 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3442 * omx/gstbasevideoencoder.c:
3443 * omx/gstbasevideoencoder.h:
3444 basevideoencoder: Adjusting padding is not required for -bad libraries
3446 2011-11-28 19:48:01 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3448 * omx/gstbasevideoencoder.h:
3449 basevideoencoder: Move some fields to the private part of the instance struct
3451 2011-11-28 19:36:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3453 * omx/gstbasevideoencoder.c:
3454 basevideoencoder: Make headers metadata writable before pushing downstream
3455 The timestamp, duration, etc of the headers has to be changed.
3457 2011-11-28 19:35:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3459 * omx/gstbasevideoencoder.c:
3460 * omx/gstbasevideoencoder.h:
3461 basevideoencoder: Push the downstream force-keyframe event after the next keyframe
3462 Even if the corresponding GstVideoFrame doesn't have the is_sync_point
3465 2011-11-28 19:29:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3467 * omx/gstbasevideoencoder.c:
3468 * omx/gstbasevideoencoder.h:
3469 basevideoencoder: Don't push an upstream force-keyunit event downstream
3471 2011-11-25 11:48:08 +0100 Jonas Larsson <jonas@hallerud.se>
3473 * omx/gstbasevideoencoder.c:
3474 * omx/gstbasevideoencoder.h:
3475 basevideoencoder: Add initial support for the all-headers field of the force-keyframe event
3478 2011-11-25 11:37:39 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
3480 * omx/gstbasevideodecoder.c:
3481 basevideodecoder: some more debug logging
3483 2011-11-23 20:03:32 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
3485 * omx/gstbasevideodecoder.c:
3486 * omx/gstbasevideodecoder.h:
3487 basevideodecoder: add API to drop a frame and post a QoS message on the bus
3488 https://bugzilla.gnome.org/show_bug.cgi?id=640017
3489 API: gst_base_video_decoder_drop_frame()
3491 2011-11-22 23:04:49 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
3493 * omx/gstbasevideodecoder.c:
3494 docs: fix comment in gst_base_video_decoder_get_max_decode_time() docs
3496 2011-11-22 19:57:07 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
3498 * omx/gstbasevideodecoder.c:
3499 basevideodecoder: fix weird event list handling
3500 Get rid of weird code that copies a list manually, taking
3501 ownership of the elements and then frees the old list. Instead,
3502 just take over the old list entirely. (If the intent was to
3503 reverse the list, one could use g_list_reverse() instead).
3504 Then, push events in the list out from last to first (since they
3505 were prepended as they came in) instead of just pushing out the
3506 last in the list and leaking the others.
3508 2011-11-25 11:31:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3512 * omx/gstbaseaudiodecoder.c:
3513 * omx/gstbaseaudiodecoder.h:
3514 * omx/gstbaseaudioencoder.c:
3515 * omx/gstbaseaudioencoder.h:
3516 * omx/gstbaseaudioutils.c:
3517 * omx/gstbaseaudioutils.h:
3518 * omx/gstomxaacenc.c:
3519 * omx/gstomxaudioenc.c:
3520 * omx/gstomxaudioenc.h:
3521 omxaudioenc: Use audio base classes from gst-plugins-base instead of having our own copies
3523 2011-11-18 10:00:31 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3525 * omx/gstomxaudioenc.c:
3526 omxaudioenc: First set ports to flushing before waiting for the srcpad streaming thread to finish
3528 2011-11-18 09:59:43 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3530 * omx/gstomxvideoenc.c:
3531 omxvideoenc: First set ports to flushing before waiting for the srcpad streaming thread to finish
3533 2011-11-18 09:58:58 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3535 * omx/gstomxvideodec.c:
3536 omxvideodec: First set ports to flushing before waiting for the srcpad streaming thread to finish
3538 2011-11-17 14:38:54 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3541 omx: Only disabling of a port is like flushing, enabling is like unflushing
3543 2011-11-17 13:33:35 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3546 omx: Enabling/disabling a port is also like flushing
3547 The component returns all buffers to us and shouldn't get any
3548 new buffers passed anymore.
3550 2011-11-17 11:26:33 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3552 * omx/gstomxaudioenc.c:
3553 omxaudioenc: Signal the drain GCond even if downstream returned an error
3555 2011-11-17 11:26:20 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3557 * omx/gstomxvideoenc.c:
3558 omxvideoenc: Signal the drain GCond even if downstream returned an error
3560 2011-11-17 11:25:52 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3562 * omx/gstomxvideodec.c:
3563 omxvideodec: Signal the drain GCond even if downstream returned an error
3565 2011-11-17 10:34:19 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3567 * omx/gstbasevideoencoder.c:
3568 basevideoencoder: Only call ::reset once in READY->PAUSED
3570 2011-11-17 10:19:35 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3572 * omx/gstomxaudioenc.c:
3573 omxaudioenc: Shutdown component in PAUSED->READY and deallocate buffers
3575 2011-11-17 10:19:30 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3577 * omx/gstomxvideoenc.c:
3578 omxvideoenc: Shutdown component in PAUSED->READY and deallocate buffers
3580 2011-11-17 10:19:10 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3582 * omx/gstomxvideodec.c:
3583 omxvideodec: Shutdown component in PAUSED->READY and deallocate buffers
3585 2011-11-16 12:02:08 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3587 * omx/gstomxvideoenc.c:
3588 omxvideoenc: Set force_keyframe to FALSE after handling it
3589 There's no reason why the base class should forward the event
3590 further downstream if we already handled it and will insert a
3593 2011-11-16 11:21:25 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3595 * omx/gstomxvideodec.c:
3596 omxvideodec: Always push buffers downstream, even if we didn't find a corresponding GstVideoFrame
3598 2011-11-15 09:47:55 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3601 omx: Fix debug level for flushing in wrong state from ERROR to DEBUG
3602 It's not really an error and doesn't matter at all if flush is called
3603 when the component is not running.
3605 2011-11-15 08:40:07 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3607 * omx/gstomxh264enc.c:
3608 omxh264enc: Detect bytestream stream format and don't put SPS/PPS into the caps for this format
3610 2011-11-15 08:28:32 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3612 * omx/gstomxvideoenc.c:
3613 * omx/gstomxvideoenc.h:
3614 omxvideoenc: Add vfunc for handling the output frames
3615 This can be used by subclasses to override the buffer flags
3616 or to handle some frames differently than the default behaviour.
3618 2011-11-14 12:50:26 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3620 * omx/gstomxvideodec.c:
3621 omxvideodec: Don't release buffers twice if dropping because of QoS
3623 2011-11-14 09:13:06 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3626 omx: Add XXX to the nOffset reset hack comment for QCOM
3628 2011-11-10 15:18:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3630 * omx/gstomxaudioenc.c:
3631 omxaudioenc: Make srcpad caps setting threadsafe
3633 2011-11-10 15:17:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3635 * omx/gstomxvideoenc.c:
3636 omxvideoenc: Make srcpad caps setting threadsafe
3638 2011-11-10 15:17:41 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3640 * omx/gstomxvideodec.c:
3641 omxvideodec: Make srcpad caps setting threadsafe
3643 2011-11-10 15:10:14 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3645 * omx/gstomxaudioenc.c:
3646 omxaudioenc: Make the srcpad task and the sinkpad streaming thread handling threadsafe
3648 2011-11-10 15:03:05 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3650 * omx/gstomxaudioenc.c:
3651 omxaudioenc: Always flush the ports and make sure no processing is happening in ::flush
3652 This fixes a race condition that happened when seeking
3653 very often in a short period of time.
3655 2011-11-10 15:02:22 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3657 * omx/gstomxvideoenc.c:
3658 omxvideoenc: Always flush the ports and make sure no processing is happening in ::reset
3659 This fixes a race condition that happened when seeking
3660 very often in a short period of time.
3662 2011-11-10 15:01:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3664 * omx/gstomxvideoenc.c:
3665 omxvideoenc: Fix minor race condition when draining after upstream signalled EOS
3667 2011-11-10 14:56:19 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3669 * omx/gstomxaudioenc.c:
3670 omxaudioenc: Improve EOS handling
3671 If downstream return UNEXPECTED we should still signal the
3672 drain cond because nothing will trigger this again later.
3674 2011-11-10 14:56:11 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3676 * omx/gstomxvideoenc.c:
3677 omxvideoenc: Improve EOS handling
3678 If downstream return UNEXPECTED we should still signal the
3679 drain cond because nothing will trigger this again later.
3681 2011-11-10 14:54:33 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3683 * omx/gstomxaudioenc.c:
3684 omxaudioenc: Improve debugging of EOS and draining
3686 2011-11-10 14:54:17 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3688 * omx/gstomxvideoenc.c:
3689 omxvideoenc: Improve debugging of EOS and draining
3691 2011-11-10 14:51:06 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3693 * omx/gstomxvideodec.c:
3694 omxvideodec: Log if acquiring buffer for EOS failed
3696 2011-11-10 14:42:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3698 * omx/gstomxvideodec.c:
3699 omxvideodec: The component is not started in READY
3701 2011-11-10 14:39:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3703 * omx/gstomxaudioenc.c:
3704 omxaudioenc: No need to signal the drain cond when going from READY to PAUSED
3705 Also the component is not started in READY
3707 2011-11-10 14:40:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3709 * omx/gstomxvideoenc.c:
3710 omxvideoenc: No need to signal the drain cond when going from READY to PAUSED
3711 Also the component is not started in READY.
3713 2011-11-09 15:46:02 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3715 * omx/gstomxvideodec.c:
3716 omxvideodec: Always flush the ports and make sure no processing is happening in ::reset
3717 This fixes a race condition that happened when seeking
3718 very often in a short period of time.
3720 2011-11-09 15:45:20 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3722 * omx/gstomxvideodec.c:
3723 omxvideodec: Fix minor race condition when draining after upstream signalled EOS
3725 2011-11-09 15:44:11 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3727 * omx/gstomxvideodec.c:
3728 omxvideodec: Improve EOS handling
3729 If downstream return UNEXPECTED we should still signal the
3730 drain cond because nothing will trigger this again later.
3732 2011-11-09 15:43:32 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3734 * omx/gstomxvideodec.c:
3735 omxvideodec: Improve debugging of EOS and draining
3737 2011-11-09 15:42:46 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3739 * omx/gstomxvideodec.c:
3740 omxvideodec: The component is not started already when going from READY to PAUSED
3742 2011-11-09 15:42:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3744 * omx/gstomxvideodec.c:
3745 omxvideodec: No need to signal the drain cond when going from READY to PAUSED
3747 2011-11-09 15:41:02 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3750 omx: Always reset buffer flags for output ports, even in flushing/error state
3752 2011-11-09 09:00:57 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3754 * omx/gstomxvideodec.c:
3755 omxvideodec: Improve debugging in case of QoS-related frame drops
3757 2011-11-08 12:46:31 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3759 * omx/gstomxvideoenc.c:
3760 omxvideoenc: Release the video codec stream lock before acquiring an input buffer
3761 Otherwise the srcpad task might block on this lock and
3762 no buffers ever become available again.
3764 2011-11-08 12:45:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3766 * omx/gstomxaudioenc.c:
3767 omxaudioenc: Release the audio encoder stream lock before acquiring an input buffer
3768 Otherwise the srcpad task might block on this lock and
3769 no buffers ever become available again.
3771 2011-11-08 12:42:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3773 * omx/gstomxvideodec.c:
3774 omxvideodec: Release the video codec stream lock before acquiring an input buffer
3775 Otherwise the srcpad task might block on this lock and
3776 no buffers ever become available again.
3778 2011-11-08 11:07:01 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3780 * omx/gstomxaudioenc.c:
3781 * omx/gstomxaudioenc.h:
3782 omxaudioenc: Don't try to drain the component after EOS
3783 And don't send EOS twice in any case. This most likely
3784 will cause the component to not output it again and
3785 is not necessary anyway.
3787 2011-11-08 11:03:29 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3789 * omx/gstomxvideoenc.c:
3790 * omx/gstomxvideoenc.h:
3791 omxvideoenc: Don't try to drain the component after EOS
3792 And don't send EOS twice in any case. This most likely
3793 will cause the component to not output it again and
3794 is not necessary anyway.
3796 2011-11-08 10:46:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3798 * omx/gstomxvideodec.c:
3799 * omx/gstomxvideodec.h:
3800 omxvideodec: Don't try to drain the component after EOS
3801 And don't send EOS twice in any case. This most likely
3802 will cause the component to not output it again and
3803 is not necessary anyway.
3805 2011-11-08 09:09:28 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3807 * omx/gstomxvideodec.c:
3808 omxvideodec: Implement dropping of too late frames via QoS
3810 2011-11-08 08:31:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3812 * omx/gstomxaudioenc.c:
3813 omxaudioenc: Minor code refactoring
3815 2011-11-08 08:31:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3817 * omx/gstomxvideoenc.c:
3818 omxvideoenc: Minor code refactoring
3820 2011-11-08 08:31:32 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3822 * omx/gstomxvideodec.c:
3823 omxvideodec: Make sure to always release buffers back to OMX
3825 2011-11-08 08:24:19 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3828 omx: Also properly release buffers when in error state
3830 2011-11-08 08:22:08 +0100 Jonas Larsson <Jonas.Larsson@palm.com>
3833 omx: Properly release buffers during flushing
3834 We can't pass them back to OMX_FillThisBuffer() or OMX_EmptyThisBuffer()
3835 but instead of doing nothing we have to put them back into our queue.
3836 Otherwise the buffer is leaked and we will have too few buffers in
3839 2011-11-07 14:00:47 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3841 * omx/gstomxvideodec.c:
3842 omxvideodec: Free pending frames after draining component
3844 2011-11-07 14:00:35 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3846 * omx/gstomxvideoenc.c:
3847 omxvideoenc: Free pending frames after draining the component
3849 2011-11-07 11:07:01 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3851 * omx/gstomxvideoenc.c:
3852 omxvideoenc: Make handling and usage of the base video codec frames threadsafe
3854 2011-11-07 11:05:29 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3856 * omx/gstomxvideoenc.c:
3857 omxvideoenc: Fix deadlock between srcpad stream lock and ::reset()
3859 2011-11-07 11:04:27 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3861 * omx/gstomxvideodec.c:
3862 omxvideoenc: Make handling and usage of the base video codec frames threadsafe
3864 2011-11-07 10:58:44 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3866 * omx/gstomxvideoenc.c:
3867 omxvideoenc: Free all pending frames after draining the component
3869 2011-11-07 10:58:24 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3871 * omx/gstomxvideodec.c:
3872 omxvideodec: Always free all pending frames when caps changes require reconfiguration
3874 2011-11-04 09:43:48 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3876 * omx/gstomxaudioenc.c:
3877 omxaudioenc: Only drain the component a single time and only after processing started
3879 2011-11-04 09:43:32 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3881 * omx/gstomxvideodec.c:
3882 omxvideodec: Only drain the component a single time and only after processing started
3884 2011-11-04 09:43:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3886 * omx/gstomxvideoenc.c:
3887 omxvideoenc: Only drain the component a single time and only after processing started
3889 2011-11-04 09:04:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3892 omx: Reset buffer flags to 0 after it was consumed by the component or the element
3893 Some implementations don't reset the flags and the standard is not
3894 really clear on the expected behaviour. Let's just always reset the
3895 flags as they're not valid at this point anymore.
3897 2011-11-02 13:50:14 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3899 * omx/gstomxvideoenc.c:
3900 * omx/gstomxvideoenc.h:
3901 omxvideoenc: Better handling of encoder parameters
3902 Only set them if necessary and allow to use the component
3905 2011-11-02 13:22:50 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3907 * omx/gstomxvideoenc.c:
3908 omxvideoenc: Make unsupported bitrate/quantizer settings less fatal
3910 2011-11-02 10:39:50 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3912 * omx/gstomxvideodec.c:
3913 omxvideodec: If no stride was set for the OMX output port assume GStreamer stride
3914 This is not really correct but there's nothing else we could do.
3916 2011-11-02 10:39:10 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3918 * omx/gstomxvideoenc.c:
3919 omxvideoenc: If no stride was set for the OMX input port assume GStreamer stride
3920 This is not really correct but there's nothing else we could do.
3922 2011-11-01 16:46:09 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3924 * omx/gstomxaudioenc.c:
3925 * omx/gstomxaudioenc.h:
3926 omxaudioenc: Implement draining of the component and use it
3927 This makes sure that all buffers are encoded and pushed downstream
3928 before flushing the ports and losing some buffers.
3930 2011-11-01 16:41:46 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3932 * omx/gstomxvideoenc.c:
3933 * omx/gstomxvideoenc.h:
3934 omxvideoenc: Implement draining of the component and use it
3935 This makes sure that all buffers are encoded and pushed downstream
3936 before flushing the ports and losing some buffers.
3938 2011-11-01 16:08:59 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3940 * omx/gstomxvideodec.c:
3941 * omx/gstomxvideodec.h:
3942 omxvideodec: Implement draining of the component and use it
3943 This makes sure that all buffers are decoded and pushed downstream
3944 before flushing the ports and losing some buffers.
3946 2011-10-20 14:32:40 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3948 * omx/gstomxvideodec.c:
3949 omxvideodec: Fix deadlock if ::reset is called before finding the corresponding frame of a decoded buffer
3951 2011-11-01 15:10:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3953 * omx/gstomxaudioenc.c:
3954 * omx/gstomxaudioenc.h:
3955 * omx/gstomxvideoenc.h:
3956 omxaudioenc: Forward downstream flow returns to upstream
3958 2011-11-01 15:10:01 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3960 * omx/gstomxvideoenc.c:
3961 omxvideoenc: Forward downstream flow returns to upstream
3963 2011-11-01 13:58:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3965 * omx/gstomxvideodec.c:
3966 * omx/gstomxvideodec.h:
3967 omxvideodec: Forward downstream flow returns to upstream
3969 2011-10-25 14:23:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3972 omx: Add minimal README file
3974 2011-10-20 15:21:07 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3976 * omx/gstomxvideodec.c:
3977 omxvideodec: Fix deadlock caused by calling reset while the loop function does something with the base video codec stream lock
3979 2011-10-20 15:20:47 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3981 * omx/gstomxvideoenc.c:
3982 omxvideoenc: Fix deadlock caused by calling reset while the loop function does something with the base video codec stream lock
3984 2011-10-20 14:30:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3986 * omx/gstomxvideodec.c:
3987 omxvideodec: Move locking at the correct place
3989 2011-10-14 10:27:47 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3993 omx: Remove QCOM hack to reset nOffset in EmptyBufferDone
3994 This is now done in a generic way that does not require any
3995 hacks because it will work without any side effects on any
3998 2011-10-14 10:26:00 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4001 omx: Reset nOffset to 0 in EmptyBufferDone if nFilledLen is 0
4002 Some OMX implementations don't reset nOffset when the complete
4003 buffer is emptied but instead only reset nFilledLen. We reset
4004 nOffset to 0 if nFilledLen == 0, which is safe to do because
4005 the offset *must* be 0 if the buffer is not filled at all.
4006 Seen in QCOM's OMX implementation.
4008 2011-10-04 10:56:33 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4010 * omx/gstomxvideoenc.c:
4011 omxvideoenc: If one parameter/configuration is not supported don't skip the next
4013 2011-10-03 09:12:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4015 * omx/gstomxh264dec.c:
4016 omxh264dec: Require stream-format=byte-stream
4017 Other stream-formats are unlikely to be supported by OMX components.
4019 2011-09-29 10:37:32 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4021 * omx/gstomxvideodec.c:
4022 * omx/gstomxvideodec.h:
4023 omxvideodec: Add API for subclasses to prepare/convert frames
4025 2011-09-27 15:08:54 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4027 * omx/gstomxaudioenc.c:
4028 omxaudioenc: Switch to Idle first and wait before switching to Loaded and deallocating buffers
4029 Allocating buffers before the Idle state is reached can lead to crashes.
4031 2011-09-27 15:08:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4033 * omx/gstomxvideoenc.c:
4034 omxvideoenc: Switch to Idle first and wait before switching to Loaded and deallocating buffers
4035 Allocating buffers before the Idle state is reached can lead to crashes.
4037 2011-09-27 15:05:19 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4039 * omx/gstomxvideodec.c:
4040 omxvideodec: 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 14:15:06 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4047 * omx/gstomxvideodec.c:
4048 omxvideodec: New hack for QCOM to recreate the component instead of reconfiguring it on caps changes
4050 2011-09-27 12:13:56 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4053 omx: Change a g_assert() into a GST_WARNING_OBJECT()
4055 2011-09-26 13:04:18 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4059 omx: Add hack for Qualcomm's OMX implementation to manually reset nOffset in EmptyBufferDone
4061 2011-09-23 17:02:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4063 * omx/gstomxaudioenc.c:
4064 omxaudioenc: Add a check to prevent a zero-sized OMX buffer
4066 2011-09-23 17:02:19 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4068 * omx/gstomxvideoenc.c:
4069 omxvideoenc: Add some more checks for correct OMX buffer sizes
4071 2011-09-23 15:53:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4073 * omx/gstomxvideodec.c:
4074 omxvideodec: Add some more checks for OMX buffer sizes
4076 2011-09-14 10:15:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4080 * omx/gstomxaudioenc.c:
4081 * omx/gstomxvideodec.c:
4082 * omx/gstomxvideoenc.c:
4083 omx: Wait until the Executing state is reached before calling OMX_FillThisBuffer()
4084 This correctly works around the QCOM race condition that happens when calling
4085 FTB after setting the new state and before reaching it.
4087 2011-09-02 14:43:43 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4089 * omx/gstomxvideodec.c:
4090 omxvideodec: Negotiate video format with downstream and what the component claims to support
4092 2011-08-25 19:56:58 +0100 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
4094 * omx/gstbasevideoencoder.c:
4095 basevideoencoder: fix element leak
4096 and this concludes an hour of yelling at the bloody test failing,
4097 only to track down the problem not being in the test.
4098 https://bugzilla.gnome.org/show_bug.cgi?id=657368
4100 2011-08-19 09:20:39 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4102 * omx/gstomxvideoenc.c:
4103 omxvideoenc: Release basevideocodec stream lock while waiting for a buffer
4104 This prevents deadlocks if no empty input buffers are available and
4105 releasing input buffers requires the loop function to handle some
4106 output buffers first.
4108 2011-08-19 09:19:22 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4110 * omx/gstomxvideodec.c:
4111 omxvideodec: Release basevideocodec stream lock while waiting for a buffer
4112 This prevents deadlocks if no empty input buffers are available and
4113 releasing input buffers requires the loop function to handle some
4114 output buffers first.
4116 2011-08-18 10:24:26 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4118 * omx/gstbasevideodecoder.c:
4119 basevideodecoder: Fix deadlock
4121 2011-08-18 10:03:20 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4123 * omx/gstbaseaudiodecoder.c:
4124 baseaudiodecoder: Don't take the stream lock in the seek handler
4125 This will lead to deadlocks
4127 2011-08-18 10:02:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4129 * omx/gstbasevideocodec.c:
4130 * omx/gstbasevideocodec.h:
4131 * omx/gstbasevideodecoder.c:
4132 * omx/gstbasevideoencoder.c:
4133 basevideo: Fix locking, especially if both pads have different streaming threads
4135 2011-08-18 09:42:02 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4137 * omx/gstbasevideodecoder.c:
4138 * omx/gstbasevideoencoder.c:
4139 basevideo: Don't call g_type_class_peek_parent() in class_init
4140 This is already done by the GObject boilerplate macro
4142 2011-08-18 09:40:46 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4144 * omx/gstbaseaudiodecoder.c:
4145 baseaudiodecoder: Don't call g_type_class_peek_parent() in class_init
4146 This is already done by the boilerplate macro
4148 2011-08-18 09:34:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4150 * omx/gstbaseaudiodecoder.c:
4151 * omx/gstbaseaudiodecoder.h:
4152 baseaudiodecoder: Fix thread safety issues if both pads have different streaming threads
4154 2011-08-18 09:17:04 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4156 * omx/gstbaseaudiodecoder.c:
4157 baseaudiodecoder: Delay sending of serialized events to finish_frame()
4159 2011-08-17 14:33:31 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4161 * omx/gstomxaudioenc.c:
4162 omxaudioenc: Always require at least OMX_MIN_PCMPAYLOAD_MSEC per input buffer
4164 2011-08-17 14:28:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4166 * omx/gstbaseaudioencoder.c:
4167 * omx/gstbaseaudioencoder.h:
4168 baseaudioencoder: Add support for requesting a minimum and maximum number of samples per frame
4169 This extends the special case of a fixed number of samples per frame
4170 that was supported before already.
4172 2011-08-17 14:17:18 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4174 * omx/gstomxaudioenc.c:
4175 omxaudioenc: Handle inbuf==NULL properly in ::handle_frame()
4177 2011-08-17 13:04:19 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4179 * omx/gstomxaacenc.c:
4180 omxaacenc: Implement ::get_num_samples() vfunc
4182 2011-08-17 13:03:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4184 * omx/gstomxaudioenc.c:
4185 * omx/gstomxaudioenc.h:
4186 omxaudioenc: Add vfunc to get the number of samples inside a buffer
4188 2011-08-17 11:34:31 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4190 * omx/gstomxaudioenc.c:
4191 omxaudioenc: Release baseaudioencoder stream lock while waiting for a buffer in ::handle_frame()
4192 This prevents deadlocks if no empty input buffers are available and
4193 releasing input buffers requires the loop function to handle some
4194 output buffers first.
4196 2011-08-17 11:34:04 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4198 * omx/gstbaseaudioencoder.c:
4199 * omx/gstbaseaudioencoder.h:
4200 baseaudioencoder: Fix thread safety issues if both pads have different streaming threads
4202 2011-08-17 09:58:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4204 * omx/gstbaseaudioencoder.c:
4205 baseaudioencoder: Taking the OBJECT lock in reset() is not needed
4207 2011-08-16 11:03:24 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4209 * omx/gstomxaudioenc.c:
4210 omxaudioenc: Remove hack that only applies to the video encoder class
4212 2011-08-16 10:49:21 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4217 * omx/gstomxaacenc.c:
4218 * omx/gstomxaacenc.h:
4219 omxaacenc: Add initial version of OpenMAX AAC encoder element
4221 2011-08-15 15:10:04 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4224 * omx/gstomxaudioenc.c:
4225 * omx/gstomxaudioenc.h:
4226 omxaudioenc: Add initial version of audio encoder base class
4228 2011-08-15 14:14:11 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4230 * omx/gstbaseaudioencoder.c:
4231 baseaudioencoder: Delay sending of serialized events to finish_frame()
4233 2011-08-15 13:06:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4236 * omx/gstbaseaudiodecoder.c:
4237 * omx/gstbaseaudiodecoder.h:
4238 * omx/gstbaseaudioencoder.c:
4239 * omx/gstbaseaudioencoder.h:
4240 audio: Integrate audio base classes into the build system and fixup
4242 2011-08-15 12:56:00 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4244 * omx/gstbaseaudiodecoder.c:
4245 * omx/gstbaseaudiodecoder.h:
4246 * omx/gstbaseaudioencoder.c:
4247 * omx/gstbaseaudioencoder.h:
4248 * omx/gstbaseaudioutils.c:
4249 * omx/gstbaseaudioutils.h:
4250 audio: Add audio decoder/encoder base classes
4251 Taken from http://cgit.collabora.com/git/user/manauw/gst-plugins-bad.git/log/?h=baseaudio
4253 2011-08-12 12:25:03 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4255 * omx/gstbasevideoencoder.c:
4256 basevideoencoder: Proxy the width/height/framerate/PAR constraints of downstream caps to upstream
4257 This allows to specify constraints on the compressed downstream caps
4258 by muxers or capsfilters, which will then be forwarded to upstream
4259 and allows video converters to fulfill the constraints.
4260 Code based on Mark Nauwelaerts audio encoder base class.
4262 2011-08-12 12:13:45 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4264 * omx/gstbasevideoencoder.h:
4265 basevideoencoder: Remove old ::getcaps() comment
4267 2011-08-12 12:06:23 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4269 * omx/gstbasevideoencoder.c:
4270 * omx/gstbasevideoencoder.h:
4271 basevideoencoder: Remove ::get_caps() vfunc
4272 Subclasses can set the caps more efficiently and this only
4273 caused additional indirections.
4275 2011-08-10 10:24:21 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4277 * omx/gstomxh263enc.c:
4278 * omx/gstomxh264enc.c:
4279 * omx/gstomxmpeg4videoenc.c:
4280 * omx/gstomxvideoenc.c:
4281 omxvideoenc: Use "video/x-raw-yuv" as sink template caps instead of strict I420 caps
4283 2011-08-10 10:23:39 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4285 * omx/gstomxmpeg4videodec.c:
4286 omxmpeg4videodec: Don't require width/height on sink pad caps
4288 2011-08-10 10:11:37 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4290 * omx/gstomxh263dec.c:
4291 * omx/gstomxh264dec.c:
4292 * omx/gstomxmpeg4videodec.c:
4293 * omx/gstomxvideodec.c:
4294 * omx/gstomxwmvdec.c:
4295 omxvideodec: Use "video/x-raw-yuv" as src template caps instead of strict I420 caps
4297 2011-08-10 09:56:30 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4299 * omx/gstomxvideoenc.c:
4300 omxvideoenc: Set the state back to StateLoaded even if an error happened
4302 2011-08-10 09:49:57 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4305 omx: Don't hold any locks while calling OMX_SendCommand()
4306 It might call into one of the callbacks and lead to deadlocks, e.g.
4307 with the Qualcomm OMX implementation.
4309 2011-08-10 09:32:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4314 2011-08-10 09:23:10 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4317 omx: Reset pending reconfigure output ports when changing the state from Executing to any lower state
4319 2011-08-10 09:08:00 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4322 omx: Fix crash when setting last error after the ports were freed
4324 2011-08-10 09:03:52 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4327 omx: Free component structure
4329 2011-08-10 09:02:52 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4332 omx: Make component destruction safer
4334 2011-08-10 08:53:05 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4337 omx: Set pAppPrivate of buffers to NULL when deallocating buffers
4338 This prevents usage of freed memory later if the OMX component
4339 has weird behaviour.
4341 2011-08-10 08:52:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4343 * omx/gstomxvideodec.c:
4344 omxvideodec: Set the state back to StateLoaded even if an error happened
4346 2011-08-10 08:51:54 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4349 omx: Add some assertions to check if the buffer pAppPrivate is still correct
4351 2011-08-08 13:04:30 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4354 omx: Add parenthesis at correct places in the struct init macro
4356 2011-08-08 12:12:58 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4359 omx: Only prevent setting a higher state if the component is in an error state
4361 2011-08-03 16:02:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4363 * omx/gstbasevideodecoder.c:
4364 basevideodecoder: Use the cached video frame size instead of recalculating it
4366 2011-08-03 15:35:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4369 omx: Improve debugging in param/config getter/setter wrappers
4371 2011-08-03 13:10:33 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4373 * omx/gstomxvideodec.c:
4374 omxvideodec: Don't abort if the color format is not supported but give a useful error message
4376 2011-08-02 15:14:37 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4378 * omx/gstomxh263enc.c:
4379 * omx/gstomxh264enc.c:
4380 * omx/gstomxmpeg4videoenc.c:
4381 * omx/gstomxvideoenc.c:
4382 omxvideoenc: Don't fail if setting the bitrate or profile is not supported by the component
4383 Also always set/get the profile, even if there are no peer caps.
4385 2011-08-02 15:14:24 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4387 * omx/gstbasevideoencoder.c:
4388 basevideoencoder: Make access to the list of frames threadsafe
4390 2011-08-01 13:22:05 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4394 omx: Add a hacks flag for the Qualcomm 7x30 OMX_FillThisBuffer() race and make it optional
4396 2011-07-29 13:56:59 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4399 omx: Add workaround for QCOM 7x30 race condition
4401 2011-07-29 12:06:21 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4405 * omx/gstomxh263enc.c:
4406 * omx/gstomxh263enc.h:
4407 omxh263enc: Add H.263 encoder element
4409 2011-07-29 11:26:39 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4411 * omx/gstomxmpeg4videoenc.c:
4412 omxmpeg4videoenc: Add support for setting profile/level via caps
4414 2011-07-28 14:14:45 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4416 * omx/gstomxh264enc.c:
4417 omxh264enc: Add support for setting profile/level via caps
4419 2011-07-28 12:58:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4421 * omx/gstomxvideoenc.c:
4422 omxvideoenc: Add support for forcing the next frame to be a keyframe
4424 2011-07-28 11:54:16 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4426 * omx/gstomxvideoenc.c:
4427 * omx/gstomxvideoenc.h:
4428 omxvideoenc: Add support for setting bitrate/quantization related parameters
4430 2011-07-28 10:23:08 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4434 omx: Add wrapper functions for OMX_[GS]et{Config,Parameter}
4436 2011-07-28 09:54:53 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4440 omx: Add macro to initialize OpenMAX structures
4442 2011-07-28 09:08:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4444 * omx/gstomxvideoenc.c:
4445 omxvideoenc: Don't output 0-byte buffers
4447 2011-07-25 15:05:08 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4450 omx: Ensure that the pAppPrivate pointer in OMX buffers is set correctly
4452 2011-07-25 13:19:06 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4454 * omx/gstomxvideodec.c:
4455 * omx/gstomxvideoenc.c:
4456 omxvideo{enc,dec}: Only set/unset flushing state on ports if they were created already
4458 2011-07-25 12:01:05 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4462 * omx/gstomxwmvdec.c:
4463 * omx/gstomxwmvdec.h:
4464 omxwmvdec: Add WMV video decoder element
4466 2011-07-25 11:44:56 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4470 * omx/gstomxh263dec.c:
4471 * omx/gstomxh263dec.h:
4472 omxh263dec: Add H.263 decoder element
4474 2011-07-25 11:32:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4478 * omx/gstomxh264enc.c:
4479 * omx/gstomxh264enc.h:
4480 omxh264enc: Add H.264 encoder element
4482 2011-07-25 10:48:58 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4484 * omx/gstomxvideodec.c:
4485 omxvideodec: Try harder to deallocate the buffers after errors happened
4487 2011-07-25 10:47:28 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4489 * omx/gstomxvideoenc.c:
4490 omxvideoenc: Try harder to deallocate the buffers after errors happened
4492 2011-07-25 10:46:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4495 omx: Deallocate port buffers before freeing the component
4496 They should be deallocated by the caller before reaching the
4497 Loaded state but to be on the safe side we will make sure
4498 they're really deallocated here.
4500 2011-07-21 11:15:14 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4502 * omx/gstomxvideoenc.c:
4503 omxvideoenc: Add initial support for stride conversion
4505 2011-07-21 10:38:26 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4507 * omx/gstomxh264dec.c:
4508 * omx/gstomxmpeg4videodec.c:
4509 * omx/gstomxmpeg4videoenc.c:
4510 omx: Set default roles for the components if none were set from the config file
4512 2011-07-21 10:36:19 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4515 omx: Failure to set the component role is fatal
4517 2011-07-21 07:53:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4519 * omx/gstomxvideoenc.c:
4520 omxvideoenc: Add support for setting codec_data on the srcpad caps
4522 2011-07-21 07:44:34 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4524 * omx/gstomxvideoenc.c:
4525 omxvideoenc: Free/drop GstVideoFrames that resulted in an empty buffer
4527 2011-07-21 07:44:10 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4529 * omx/gstbasevideoencoder.c:
4530 basevideoencoder: Allow finishing of frames with no src_buffer to drop/free the GstVideoFrame
4532 2011-07-21 07:31:05 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4534 * omx/gstomxvideoenc.c:
4535 omxvideoenc: Remove obsolete TODO comment
4537 2011-07-20 11:09:54 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4541 omx: Use libgstopenmax.so for the plugin filename and openmax for the plugin name
4542 Resolves conflicts with gst-openmax.
4544 2011-07-20 08:34:33 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4550 * omx/gstomxmpeg4videoenc.c:
4551 * omx/gstomxmpeg4videoenc.h:
4552 * omx/gstomxvideoenc.c:
4553 * omx/gstomxvideoenc.h:
4554 omxvideoenc: Add video encoder base class and MPEG4 video encoder
4555 Unfortunately requires lots of hacks again to work properly with
4558 2011-07-20 10:39:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4560 * omx/gstbasevideoencoder.c:
4561 basevideoencoder: Only get caps from the subclass if they were not set yet by the subclass
4563 2011-07-20 09:25:28 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4565 * omx/gstbasevideoencoder.c:
4566 * omx/gstbasevideoencoder.h:
4567 basevideoencoder: Delay sending of serialized sink events until finish_frame()
4569 2011-07-20 09:09:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4571 * omx/gstbasevideoencoder.c:
4572 * omx/gstbasevideoencoder.h:
4573 basevideoencoder: Add ::reset vfunc and handle ::reset/::finish the same way as in the decoder
4575 2011-07-19 12:50:43 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4577 * omx/gstbasevideoencoder.c:
4578 basevideoencoder: Use a temporary GstVideoState until the subclass accepted the caps
4579 Also store the caps in the GstVideoState and assume a PAR of 1/1 instead
4580 of 0/1 if no PAR is specified in the caps.
4582 2011-07-19 12:29:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4585 * omx/gstomxvideodec.c:
4586 omx: Improve debug output a bit
4588 2011-07-19 10:33:54 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4592 * omx/gstomxvideodec.c:
4593 omx: Rework port reconfiguration again and only use the Bellagio specific hacks with Bellagio
4594 We only reconfigure ports that need to be reconfigured now instead of
4597 2011-07-19 10:33:15 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4602 * omx/gstomxvideodec.c:
4603 * omx/gstomxvideodec.h:
4604 omx: Add infrastructure to enable special hacks for broken OpenMAX implementations
4606 2011-07-18 13:10:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4609 omx: When acquiring a buffer from an input port always wait until all output ports are reconfigured
4611 2011-07-18 08:41:20 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4613 * omx/gstomxvideodec.c:
4614 omxvideodec: Add support for converting between omx and gst rowstrides
4616 2011-07-14 10:34:09 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4619 omx: Provide all buffers to output ports after enabling them
4621 2011-07-14 08:29:03 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4623 * omx/gstomxvideodec.c:
4624 omxvideodec: Add support for NV12 / OMX_COLOR_FormatYUV420SemiPlanar
4626 2011-07-14 07:58:41 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4628 * omx/gstomxvideodec.c:
4629 * omx/gstomxvideodec.h:
4630 omxvideodec: Only flush the component ports after we passed input to them
4632 2011-07-13 21:19:34 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4634 * omx/gstomxvideodec.c:
4635 omxvideodec: Only change states downwards if an upper state was reached
4637 2011-07-13 20:37:02 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4641 * omx/gstomxvideodec.c:
4642 * omx/gstomxvideodec.h:
4643 omx: Add support for setting the component-role
4645 2011-07-13 20:22:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4649 * omx/gstomxvideodec.c:
4650 omx: Improve error reporting by formatting the error codes better and also providing their string representation
4652 2011-07-13 14:36:14 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4655 build: Dist autogen.sh
4657 2011-07-13 14:35:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4661 build: Only require GStreamer >= 0.10.29 and GLib >= 2.16
4663 2011-07-13 14:04:47 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4666 build: Dist gstomx.conf
4668 2011-07-13 14:04:20 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4671 build: Clean _stdint.h on "make distclean"
4673 2011-07-13 14:02:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4675 * omx/gstomxvideodec.c:
4676 omxvideodec: Fix typo
4678 2011-07-13 13:59:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4683 2011-07-13 12:46:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4685 * omx/gstomxvideodec.c:
4686 omxvideodec: Set SYNCFRAME flag on the OMX buffers for non-delta units
4688 2011-07-13 12:37:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4690 * omx/gstomxvideodec.c:
4691 omxvideodec: Free all pending frames when resetting the decoder
4692 Workaround for https://bugzilla.gnome.org/show_bug.cgi?id=654529
4694 2011-07-13 09:59:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4696 * omx/gstomxvideodec.c:
4697 omxvideodec: Handle output buffers without a corresponding GstVideoFrame more gracefully
4698 This can happen on EOS in some cases and when the input is not
4701 2011-07-13 09:31:22 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4703 * omx/gstomxvideodec.c:
4704 omxvideodec: Fix deadlock when finishing old frames that are left over by the decoder
4706 2011-07-12 11:37:28 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4708 * omx/gstomxh264dec.c:
4709 omxh264dec: It's called H.264, not H264
4711 2011-07-12 11:36:42 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4713 * omx/gstomxh264dec.c:
4714 * omx/gstomxmpeg4videodec.c:
4715 * omx/gstomxvideodec.c:
4716 * omx/gstomxvideodec.h:
4717 omxvideodec: Make sink/src pad template caps configurable
4719 2011-07-12 11:13:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4722 omx: Allow to set a preferred configuration directory with the GST_OMX_CONFIG_DIR environment variable
4724 2011-07-12 10:55:57 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4726 * omx/gstomxh264dec.c:
4727 * omx/gstomxmpeg4videodec.c:
4728 * omx/gstomxvideodec.c:
4729 omxvideodec: Make core/component-name and in/outport index configurable
4731 2011-07-12 10:05:31 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4736 omx: Add initial version of configuration system
4737 This now only registers elements that are specified in the
4739 The configuration file is a keyfile in the first XDG configuration
4740 directory with the name gstomx.conf.
4742 2011-07-12 08:53:15 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4746 * omx/gstomxh264dec.c:
4747 * omx/gstomxh264dec.h:
4748 * omx/gstomxh264videodec.h:
4749 omxh264dec: Rename from omxh264videodec to omxh264dec
4751 2011-07-12 08:40:48 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4753 * omx/gstomxh264videodec.c:
4754 omxh264videodec: Require alignment=au and stream-format={avc,bytestream}
4756 2011-07-11 12:59:07 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4758 * omx/gstbasevideodecoder.c:
4759 basevideodecoder: First inform subclass about resetting before resetting/freeing all internal state
4760 The subclass might want to access the old state.
4762 2011-07-11 12:36:42 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4764 * omx/gstbasevideodecoder.c:
4765 basevideodecoder: Track present position on discont before resetting it
4767 2011-07-11 11:52:33 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4769 * omx/gstbasevideodecoder.c:
4770 basevideodecoder: Also protect the list of pending frames from concurrent access when pushing all pendings events
4772 2011-07-11 11:28:40 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4774 * omx/gstbasevideocodec.c:
4775 * omx/gstbasevideocodec.h:
4776 * omx/gstbasevideodecoder.c:
4777 basevideocodec: Protect access to the list of pending frames with the object lock
4778 This is required if ::finish_frame() and all buffer output happens
4779 on a different thread than the sinkpad streaming thread.
4781 2011-07-11 09:35:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4783 * omx/gstbasevideodecoder.c:
4784 basevideodecoder: Set the correct lists to NULL after freeing
4786 2011-07-11 08:54:53 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4788 * omx/gstbasevideodecoder.c:
4789 basevideodecoder: Work with a copy of the GstVideoState in setcaps until the caps are accepted
4790 Also fix a refcount problem with the codec_data.
4792 2011-07-12 08:34:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4796 * omx/gstomxh264videodec.c:
4797 * omx/gstomxh264videodec.h:
4798 omxh264videodec: Add h.264 video decoder
4800 2011-07-12 08:29:15 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4802 * omx/gstomxmpeg4videodec.c:
4803 omxmpeg4videodec: Fix debug category name
4805 2011-07-09 11:41:42 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4808 * omx/gstbasevideocodec.h:
4809 * omx/gstbasevideodecoder.c:
4810 * omx/gstbasevideoencoder.c:
4811 * omx/gstbasevideoutils.c:
4812 * omx/gstbasevideoutils.h:
4813 basevideo: Move the utils from the codec header to its own header
4815 2011-07-09 11:32:06 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4817 * omx/gstbasevideocodec.c:
4818 * omx/gstbasevideodecoder.c:
4819 basevideo: Use GSlice for allocating GstVideoFrame and don't duplicate code in the decoder base class
4821 2011-07-09 11:05:37 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4823 * omx/gstomxvideodec.c:
4824 omxvideodec: Use the destroy notify to free the coder_hook
4826 2011-07-09 10:57:52 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4828 * omx/gstbasevideocodec.c:
4829 * omx/gstbasevideocodec.h:
4830 * omx/gstbasevideodecoder.c:
4831 basevideo: Add destroy notify for the coder_hook to prevent memory leaks
4834 2011-07-09 10:44:16 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4837 basevideo: Fix GType names to not conflict with the public video base classes
4838 It's still not possible to include headers of both in the same file
4839 or compile/link both into the same plugin but that shouldn't be
4842 2011-07-08 15:42:56 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4844 * omx/gstomxvideodec.c:
4845 omxvideodec: Fix some minor memory leaks
4847 2011-07-08 15:25:07 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4851 * omx/gstomxvideodec.c:
4852 omx: Rework port reconfiguration
4853 We always reconfigure all ports now if the settings of one
4854 port changes to prevent lots of race conditions, dropped
4855 frames and similar issues.
4857 2011-07-08 13:16:45 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4859 * omx/gstomxvideodec.c:
4860 * omx/gstomxvideodec.h:
4861 omxvideodec: Use the frames storage of the base class instead of implementing our own
4862 They could get out of sync and we could store already destroyed frames.
4864 2011-07-07 12:51:03 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4867 omx: Clarify GQueue/GPtrArray element types
4869 2011-07-07 12:23:24 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4873 * omx/gstomxvideodec.c:
4874 omx: Add more checks to acquire_buffer() and return the current state additional to the buffer
4875 Also refactor the code flow in the video decoder for this. This makes
4876 the usage of acquire_buffer() easier and more atomic.
4878 2011-07-07 12:22:57 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4880 * omx/gstomxvideodec.c:
4881 omxvideodec: Also flush/unflush the input port when changing the state PAUSED<->READY
4883 2011-07-07 12:21:31 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4886 omx: Don't broadcast port->port_cond after allocating buffers successfully
4887 Allocating buffers must happen while no thread is waiting for the
4888 cond and especially must happen from the thread that would acquire
4889 buffers from the port.
4891 2011-07-07 11:27:15 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4893 * omx/gstomxvideodec.c:
4894 omxvideodec: Don't leak the codec_data after sending it
4896 2011-07-07 10:27:31 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4899 omx: Always check if the component is in an error state before waiting for a condition variable to be signalled
4900 Otherwise we might wait forever because nothing is going to signal
4901 the condition variable anymore.
4903 2011-07-07 10:22:12 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4906 omx: Always hold port->port_lock before signalling port->port_cond when notifying about errors
4907 Otherwise a port might be in the critical section, has checked the error state
4908 already but waits after port->port_cond is signalled, which will lead
4911 2011-07-07 10:07:43 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4913 * omx/gstomxvideodec.c:
4914 omxvideodec: Remove reconfiguration test hack
4916 2011-07-06 13:27:12 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4919 omx: Improve debug output a bit
4921 2011-07-06 13:26:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4924 omx: Always try to deallocate buffers, even if there's a component error
4926 2011-07-06 13:26:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4929 omx: Use G_USEC_PER_SEC for clarity instead of 1000000
4931 2011-07-06 13:19:15 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4933 * omx/gstomxvideodec.c:
4934 omxvideodec: Error out if the GStreamer allocated buffer is smaller than the OpenMAX output buffer
4935 Usually this must never happen but currently it happens during reconfigurations
4936 because of a race condition. Still it's better than crashing.
4938 2011-07-06 10:40:13 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4942 omx: Don't use port_def.bEnabled to check if the Enable/Disable command is finished
4943 bEnabled should be set immediately after sending the command, it's only
4944 Bellagio that waits until the command is finished before setting it.
4946 2011-07-06 10:30:11 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4948 * omx/gstomxvideodec.c:
4949 omxvideodec: Remove obsolete FIXME comment
4951 2011-07-06 10:29:54 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4955 omx: Improve error handling and reporting
4957 2011-07-06 08:48:37 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4959 * omx/gstomxmpeg4videodec.c:
4960 * omx/gstomxvideodec.c:
4961 * omx/gstomxvideodec.h:
4962 omxvideodec: Make the inport and outport index configurable by the subclass
4964 2011-06-28 08:51:23 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4969 * omx/gstomxmpeg4videodec.c:
4970 * omx/gstomxmpeg4videodec.h:
4971 * omx/gstomxvideodec.c:
4972 * omx/gstomxvideodec.h:
4973 omx: Add initial version of OpenMAX framework, video decoder base class and MPEG4 video decoder
4974 This currently hardcodes a lot of stuff but works at least.
4975 Also adds a generic framework for handling OpenMAX cores, components
4978 2011-06-28 11:47:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4980 * omx/gstbasevideocodec.c:
4981 * omx/gstbasevideocodec.h:
4982 * omx/gstbasevideodecoder.c:
4983 * omx/gstbasevideodecoder.h:
4984 basevideodecoder: Don't reorder serialized src events
4985 And allow to drop EOS by the subclass if ::finish returns
4989 2011-06-27 09:41:40 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4991 * omx/gstbasevideocodec.c:
4992 * omx/gstbasevideocodec.h:
4993 * omx/gstbasevideodecoder.c:
4994 basevideo: Add the caps to the GstVideoState and clean up caps/codec_data properly
4996 2011-06-27 09:37:03 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4998 * omx/gstbasevideocodec.c:
4999 * omx/gstbasevideocodec.h:
5000 * omx/gstbasevideodecoder.c:
5001 * omx/gstbasevideodecoder.h:
5002 * omx/gstbasevideoencoder.c:
5003 * omx/gstbasevideoencoder.h:
5004 * omx/gstbasevideoutils.c:
5005 basevideo: Add video encoder/decoder base classes from gst-plugins-bad
5007 2011-06-21 11:17:35 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5009 * omx/openmax/OMX_Audio.h:
5010 * omx/openmax/OMX_Component.h:
5011 * omx/openmax/OMX_ComponentExt.h:
5012 * omx/openmax/OMX_ContentPipe.h:
5013 * omx/openmax/OMX_Core.h:
5014 * omx/openmax/OMX_CoreExt.h:
5015 * omx/openmax/OMX_IVCommon.h:
5016 * omx/openmax/OMX_Image.h:
5017 * omx/openmax/OMX_Index.h:
5018 * omx/openmax/OMX_IndexExt.h:
5019 * omx/openmax/OMX_Other.h:
5020 * omx/openmax/OMX_Types.h:
5021 * omx/openmax/OMX_Video.h:
5022 * omx/openmax/OMX_VideoExt.h:
5023 openmax: Add OpenMAX IL 1.1.2 headers