summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* gst-omx: Fix memory leaks when context parse failsVineeth TM2015-08-201-0/+2
| | | | | | | | | | When g_option_context_parse fails, context and error variables are not getting free'd which results in memory leaks. Free'ing the same. And replacing g_error_free with g_clear_error, which checks if the error being passed is not NULL and sets the variable to NULL on free'ing. https://bugzilla.gnome.org/show_bug.cgi?id=753865
* omxh264dec: implement is_format_changePhilippe Normand2015-08-161-0/+25
| | | | | | | | The omxvideodecoder class only checks some of the caps parameters but if other fields change such as h264 profile and/or level it wouldn't trigger a reconfiguration. https://bugzilla.gnome.org/show_bug.cgi?id=752376
* omxvideodec: unref allocator after getting it from allocation queryAurélien Zanelli2015-07-061-8/+12
| | | | | | | Otherwise a reference will be leaked for each allocator. It only happens when target platform is Raspberry Pi and when we have GL support. https://bugzilla.gnome.org/show_bug.cgi?id=751867
* Automatic update of common submoduleStefan Sauer2015-07-031-0/+0
| | | | From f74b2df to 9aed1d7
* Automatic update of common submoduleNicolas Dufresne2015-06-161-0/+0
| | | | From 6015d26 to f74b2df
* Automatic update of common submoduleEdward Hervey2015-06-091-0/+0
| | | | From d9a3353 to 6015d26
* Automatic update of common submoduleStefan Sauer2015-06-081-0/+0
| | | | From d37af32 to d9a3353
* Automatic update of common submoduleStefan Sauer2015-06-071-0/+0
| | | | From 21ba2e5 to d37af32
* Automatic update of common submoduleStefan Sauer2015-06-071-0/+0
| | | | From c408583 to 21ba2e5
* Automatic update of common submoduleStefan Sauer2015-06-072-9/+20
| | | | From c8fb372 to c408583
* omxaudiodec: Add an output adapter for chunking the output into codec framesSebastian Dröge2015-05-192-21/+65
| | | | | Otherwise the base class will be confused. See https://bugzilla.gnome.org/show_bug.cgi?id=685730
* Remove obsolete Android build cruftTim-Philipp Müller2015-04-262-45/+0
| | | | This is not needed any longer.
* Remove INSTALL fileSebastian Dröge2015-04-221-370/+0
| | | | | autotools automatically generate this, and when using different versions for autogen.sh there will always be changes to a file tracked by git.
* Add m4 directory so aclocal doesn't complain in autogen.shTim-Philipp Müller2015-04-084-2/+8
| | | | | | | | Might come in handy, and these warnings seem to be fatal in some environments. You may need to git clean -x -d -f your tree before git pulling/merging.
* Update autogen.sh to latest versionTim-Philipp Müller2015-04-072-46/+51
|
* Automatic update of common submoduleTim-Philipp Müller2015-04-031-0/+0
| | | | From bc76a8b to c8fb372
* omxaudiodec: add comment explaining duplicate code pathLuis de Bethencourt2015-03-061-1/+1
|
* Revert "omxaudiodec: remove duplicate code path"Luis de Bethencourt2015-03-061-1/+3
| | | | This reverts commit a8d26ff27a8b43f589424a59294f9057641b2a46.
* omx: handle both errors in the two steps of update_port_definitionLuis de Bethencourt2015-03-061-5/+8
| | | | | | | Also consider potential errors in the _get_parameter() in the return of the update_port_definition function. CID #1287052
* omxaudioenc: impossible if statementLuis de Bethencourt2015-03-061-3/+0
| | | | | | | ret is set to GST_STATE_CHANGE_SUCCESS and never touched, so it is impossible for it to be anything else at the if check. Remove the if check. CID #1287053
* omxaudiodec: impossible if statementLuis de Bethencourt2015-03-061-3/+0
| | | | | | | ret is set to GST_STATE_CHANGE_SUCCESS and never touched, so it is impossible for it to be anything else at the if check. Remove it. CID #1287054
* omxaudiodec: remove duplicate code pathLuis de Bethencourt2015-03-061-3/+1
|
* omx: call handle_messages() only once in acquire_buffer() to avoid potential ↵George Kiagiadakis2015-03-041-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | deadlock There is one rare case where calling handle_messages() more than once can cause a deadlock in the video decoder element: - sink pad thread starts the src pad task (gst_omx_video_dec_loop()) - _video_dec_loop() calls gst_omx_port_acquire_buffer() on dec_out_port - blocks in gst_omx_component_wait_message() releasing comp->lock and comp->messages_lock (initially, there are no buffers configured on that port, so it waits for OMX_EventPortSettingsChanged) - the sink pad thread pushes a buffer to the decoder with gst_omx_port_release_buffer() - _release_buffer() grabs comp->lock and sends the buffer to OMX, which consumes it immediately - EmptyBufferDone gets called at this point, which signals _wait_message() to unblock - the message from EmptyBufferDone is processed in gst_omx_component_handle_messages() called from gst_omx_port_release_buffer() - gst_omx_port_release_buffer releases comp->lock - the src pad thread now gets to run, grabbing comp->lock while it exits from _wait_message() - _acquire_buffer() calls the _handle_messages() on the next line after _wait_message(), which does nothing (no pending messages) - then it goes to "retry:" and calls _handle_messages() again, which also does nothing (still no pending messages) - scheduler switches to a videocore thread that calls EventHandler, informing us about the OMX_EventPortSettingsChanged event that just arrived - EventHandler graps comp->messages_lock, but not comp->lock, so it can run in parallel at this point just fine. - scheduler switches back to the src pad thread (which is in the middle of _acquire_buffer()) - the next _handle_messages() which is right before if (g_queue_is_empty (&port->pending_buffers)) processes the OMX_EventPortSettingsChanged - the buffer queue is still empty, so that thread blocks again in _wait_message() - the sink pad thread tries to acquire the next input port buffer - _acquire_buffer() also blocks this thread in: if (comp->pending_reconfigure_outports) { ... _wait_message() ... } - DEADLOCK. gstreamer is waiting for omx to do something, omx waits for gstreamer to do something. By removing those extra _handle_messages() calls, we can ensure that all the checks of _acquire_buffer() will re-run. In the above case, after the scheduler switches back to the middle of _acquire_buffer(), the code will enter _wait_message(), which will see that there are pending messages and will return immediately, going back to "retry:" and re-doing all the checks properly. https://bugzilla.gnome.org/show_bug.cgi?id=741854
* omx: cleanup code a bit to remove else statementWonchul Lee2015-02-261-8/+4
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=745191
* Automatic update of common submoduleStefan Sauer2015-01-121-0/+0
| | | | From f2c6b95 to bc76a8b
* Automatic update of common submoduleSebastian Dröge2014-12-181-0/+0
| | | | From ef1ffdc to f2c6b95
* Automatic update of common submoduleEdward Hervey2014-11-271-0/+0
| | | | From 7bb2bce to ef1ffdc
* omx: Add omxamrdecJun Ji2014-11-134-1/+286
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=739333
* Automatic update of common submoduleSebastian Dröge2014-10-271-0/+0
| | | | From 84d06cd to 7bb2bce
* Automatic update of common submoduleTim-Philipp Müller2014-10-211-0/+0
| | | | From a8c8939 to 84d06cd
* Automatic update of common submoduleStefan Sauer2014-10-211-0/+0
| | | | From 1f5d3c3 to a8c8939
* omxaudiodec: Clean up code a bit to get rid of useless NULL checksSebastian Dröge2014-09-301-24/+13
|
* omxaudiodec: Unmap input buffers after usagejunji2014-09-301-0/+8
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=736314
* omxvideoenc: Setup aspect ratio on RPiMichal Lazo2014-09-011-0/+43
| | | | | | | Needs firmware from yesterday or newer to work with all possible aspect ratios. Before that it only supported a fixed list. https://bugzilla.gnome.org/show_bug.cgi?id=732533
* omxaudioenc: Implement the hack flag GST_OMX_HACK_NO_COMPONENT_RECONFIGURESebastian Dröge2014-08-281-20/+31
|
* omxaudioenc: Use the base class' open/close vfuncs instead of calling them ↵Sebastian Dröge2014-08-281-6/+9
| | | | ourselves
* omxvideoenc: Implement the hack flag GST_OMX_HACK_NO_COMPONENT_RECONFIGUREPeng Liu2014-08-282-21/+32
| | | | | | Fix a video encoder stall problem on RPi when changing the aspect ratio. https://bugzilla.gnome.org/show_bug.cgi?id=732533
* omx: Let base classes handle EOSSebastian Dröge2014-08-148-177/+22
| | | | https://bugzilla.gnome.org//show_bug.cgi?id=734774
* omxaudiodec: Fix flushing logic and make it more similar to the video decoderSebastian Dröge2014-08-141-15/+42
|
* Release 1.2.01.2.0Sebastian Dröge2014-07-236-30/+1169
|
* config: Update ranks to PRIMARY+1 to have higher preference than avdec_*Sebastian Dröge2014-07-222-13/+13
| | | | See https://bugzilla.gnome.org/show_bug.cgi?id=732161
* omxaudiosink: Set port to not flushing in prepare() and keep it at flushing ↵Sebastian Dröge2014-07-201-9/+9
| | | | | | in unprepare() https://bugzilla.gnome.org/show_bug.cgi?id=733168
* omxaudiodec: Implement setting of fallback channel positionsSebastian Dröge2014-07-134-0/+110
|
* omx: Add AAC audio decoderSebastian Dröge2014-07-135-2/+295
|
* omxaudiodec: Get PCM parameters from the out port, not the in portSebastian Dröge2014-07-021-1/+1
|
* omxaudiodec: Implement hack for not disabling the output port after ↵Sebastian Dröge2014-07-021-11/+36
| | | | | | | | set_format until the output format is known Needed on some OMX implementations, e.g. the one from Atmel. It does not send the settings-changed event on the output port if it is disabled.
* omx: Add audio decoder base class and a subclass for MP3Sebastian Dröge2014-07-026-1/+1676
|
* omx: Link to gmodule-2.0-no-export for being able to use the g_module_*() APISebastian Dröge2014-07-012-3/+8
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=732518
* examples: #define GST_USE_UNSTABLE_API for libgstglSebastian Dröge2014-06-301-0/+1
|
* omxh264enc: Properly accumulate headers and push before the next frameSebastian Dröge2014-06-292-6/+39
| | | | | | | Fixes output of encoding on RPi, where each header buffer (SPS and PPS) is in a separate OMX buffer. https://bugzilla.gnome.org/show_bug.cgi?id=726669