[gst-hybris] mediaplayer-app crashes if moved to background after video playback

Bug #1234506 reported by Ricardo Salveti
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
gst-plugins-bad1.0 (Ubuntu)
Fix Released
High
Jim Hodapp
mediaplayer-app (Ubuntu)
Invalid
Low
Unassigned

Bug Description

Using image 78 - mako.

How to reproduce:
1) Make sure you're using at least image > = 78/1003;
2) Download video http://people.canonical.com/~jhodapp/sintel_trailer-1080p.mp4 to ~/Videos
3) Run mediaplayer-app: mediaplayer-app /home/phablet/Videos/sintel_trailer-1080p.mp4 --desktop_file_hint=/usr/share/applications/mediaplayer-app.desktop
4) Once the decode/rendering is fully done (after full playback), bring back the shell putting the mediaplayer-app in background

More info attached (logcat, GST_DEBUG).

Revision history for this message
Ricardo Salveti (rsalveti) wrote :
Revision history for this message
Ricardo Salveti (rsalveti) wrote :

Interesting piece after decoding/rendering is fully done and app is moved to background:

Message from playbin0 : 1
0:00:53.586418426 6390 0x44ce9ac0 DEBUG amc gstamchybris.c:585:gst_amc_codec_dequeue_output_buffer: dequeue output buffer ret: -1
0:00:53.586754150 6390 0x44ce9ac0 WARN amc gstamchybris.c:587:gst_amc_codec_dequeue_output_buffer: media_codec_dequeue_output_buffer timed out, trying again
0:00:53.587486639 6390 0x44ce9ac0 DEBUG amc gstamchybris.c:580:gst_amc_codec_dequeue_output_buffer: gst_amc_codec_dequeue_output_buffer
0:00:53.618220655 6390 0xf7000 DEBUG mirsink gstmirsink.c:507:gst_mir_sink_stop:<video-output> stop
0:00:53.622066222 6390 0xf7000 DEBUG amc gstamchybris.c:411:gst_amc_codec_flush: gst_amc_codec_flush
0:00:53.622920792 6390 0x44ce9ac0 DEBUG amc gstamchybris.c:585:gst_amc_codec_dequeue_output_buffer: dequeue output buffer ret: -3
0:00:53.622981833 6390 0x44ce9ac0 INFO amc gstamchybris.c:597:gst_amc_codec_dequeue_output_buffer: Output buffers have changed
0:00:53.624599413 6390 0xf7000 DEBUG amc gstamchybris.c:411:gst_amc_codec_flush: gst_amc_codec_flush
0:00:53.627010522 6390 0xf7000 DEBUG amc gstamchybris.c:382:gst_amc_codec_stop: gst_amc_codec_stop
0:00:53.646085754 6390 0xf7000 DEBUG amc gstamchybris.c:245:gst_amc_codec_free: gst_amc_codec_free
0:00:53.653380123 6390 0xf7000 DEBUG amc gstamchybris.c:773:gst_amc_format_free: gst_amc_format_free
QOpenGLShader::link: "--From Fragment Shader:
--From Vertex Shader:
Link was successful.
"
void QGstreamerPlayerSession::showPrerollFrames(bool) false
void QGstreamerPlayerSession::stop()
void QGstreamerPlayerSession::setSeekable(bool) false
void QGstreamerPlayerSession::loadFromUri(const QNetworkRequest&) QUrl( "file:///home/phablet/Videos/sintel_trailer-1080p.mp4" )
bool QGstreamerPlayerSession::pause()
0:01:01.838058897 6390 0xf7000 DEBUG mirsink gstmirsink.c:457:gst_mir_sink_start:<video-output> start
Playbin source added: GstFileSrc
Current source is a non-live source

Changed in gst-plugins-bad1.0 (Ubuntu):
status: New → Confirmed
importance: Undecided → High
assignee: nobody → Jim Hodapp (jhodapp)
Revision history for this message
Ricardo Salveti (rsalveti) wrote :
Revision history for this message
Ricardo Salveti (rsalveti) wrote :

After comment #2 I get a segfault.

Revision history for this message
Ricardo Salveti (rsalveti) wrote :

Sometimes it also crashes inside the android side:

V/MediaCodecLayer( 2453): void* media_codec_create_by_codec_name(const char*)
D/MediaCodecLayer( 2453): Creating codec 'OMX.qcom.video.decoder.avc'
V/MediaCodecLayer( 2453): _MediaCodecDelegate::_MediaCodecDelegate(void*)
I/OMXClient( 2453): Using client-side OMX mux.
I/OMXClient( 2453): Allocating remote Node (false remote).
E/OMXMaster( 2453): A component of name 'OMX.qcom.audio.decoder.aac' already exists, ignoring this one.
E/OMX-VDEC-1080P( 2453): In OMX vdec Constructor
E/OMX-VDEC-1080P( 2453): vidc.dec.debug.ts value is 0
E/OMX-VDEC-1080P( 2453): vidc.dec.debug.concealedmb value is 0
E/OMX-VDEC-1080P( 2453): vidc.dec.debug.extradata value is 0
E/OMX-VDEC-1080P( 2453):
E/OMX-VDEC-1080P( 2453): omx_vdec::component_init(): Start of New Playback : role = OMX.qcom.video.decoder.avc : DEVICE = /dev/msm_vidc_dec
E/OMX-VDEC-1080P( 2453):
E/OMX-VDEC-1080P( 2453): omx_vdec::component_init(): Open returned fd 38, errno 13
E/OMX-VDEC-1080P( 2453): omx_vdec: message thread start
E/OMX-VDEC-1080P( 2453):
E/OMX-VDEC-1080P( 2453): omx_vdec::component_init() success
E/OMX-VDEC-1080P( 2453): omx_vdec: Async thread start
V/MediaCodecLayer( 2453): virtual _MediaCodecDelegate::~_MediaCodecDelegate()
F/MediaCodec( 2453): frameworks/av/media/libstagefright/MediaCodec.cpp:74 CHECK_EQ( mState,UNINITIALIZED) failed: 2 vs. 0
I/ubuntu::detail::ApplicationManager( 535): virtual bool ubuntu::application::ProcessKiller::threadLoop()() Suspending process

Maybe because of the stop -> load -> pause, which is causing gst_mir_sink_start to be called.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package gst-plugins-bad1.0 - 1.2.1-1ubuntu2

---------------
gst-plugins-bad1.0 (1.2.1-1ubuntu2) trusty; urgency=medium

  * Refreshing adding-mirsink-and-android-media-over-hybris-support.patch:
    - Improved the CAPS for mirsink to use a cleaner method of constructing
      the caps, plus increased the formats it supports.
    - Adding a small delay to make sure we have the window id when doing
      hardware rendering
    - Fixing crash on EOS (LP: #1234506, LP: #1236599)
  * debian/build-deps.*:
    - Bumping dep version requirement for libmedia
 -- Ricardo Salveti de Araujo <email address hidden> Mon, 23 Dec 2013 16:06:21 -0200

Changed in gst-plugins-bad1.0 (Ubuntu):
status: Confirmed → Fix Released
Revision history for this message
Sebastien Bacher (seb128) wrote :

closing the mediaplayer side since it was fixed in gstreamer

Changed in mediaplayer-app (Ubuntu):
importance: Undecided → Low
status: New → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.