a media-hub thread ocasionally hangs when resetting pipeline
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
media-hub (Ubuntu) |
Expired
|
High
|
Unassigned | ||
media-hub (Ubuntu RTM) |
Incomplete
|
High
|
Unassigned |
Bug Description
After around 50 or so iterations (on average, but happens randomly) of creating/destroying a mediaplayer-app instance to play video using the script here: http://
When receiving the client death notification, the gstreamer engine playbin attempts to reset the pipeline with a call to gst_element_
When another instance is started (say another mediaplayer-app instance) the media-hub server attempts to pause all other playing instances including the one waiting for the NULL state transition - this hangs as the pause transition can never complete.
Examining the thread stack, it seems the Android stagefright framework has sent a flush message to the codec, waiting until the codec responds with a flush done signal, which never happens.
If the pause request (as described above) is ignored then the next instance plays with no issue. It's almost as if the framework forgot to cleanup its pending ack request (like flush) when another instance was created.
Changed in media-hub: | |
importance: | Undecided → High |
no longer affects: | media-hub |
Changed in media-hub (Ubuntu): | |
importance: | Undecided → High |
Changed in media-hub (Ubuntu RTM): | |
importance: | Undecided → High |
Changed in media-hub (Ubuntu): | |
status: | New → Incomplete |
Changed in media-hub (Ubuntu RTM): | |
status: | New → Incomplete |
Does this still happen on the latest RTM image?