Closed Bug 1105201 Opened 5 years ago Closed 5 years ago

[RTSP] Can't play if tap pause/play continuously


(Firefox OS Graveyard :: RTSP, defect)

Gonk (Firefox OS)
Not set


(b2g-v2.1 affected)

2.2 S2 (19dec)
Tracking Status
b2g-v2.1 --- affected


(Reporter: jhao, Assigned: jhao)




(2 files, 1 obsolete file)

This problem could relate to Bug 1097447, because seek is essentially a pause followed by a play.
See Also: → 1097447
The logs show that the decoder state machine was stuck in DECODER_STATE_BUFFERING, and the HasLowUndecodedData() always returned true. It never gets enough undecoded data, so it waits for a 30 second timeout. See also Bug 1093020.

I think this bug may be blocked by or even a duplicate of a bug Benjamin filed a few days ago, Bug 1104413, in which the GetBuffered function will be implemented.
Depends on: 1104413
Flags: needinfo?(bechen)
See Also: → 1093020
Assignee: nobody → jhao
No longer depends on: 1104413
Currently, RtspOmxReader::GetBuffered() is not implemented, but returns NS_OK. Therefore, there's always not enough undecoded data. In this patch, the function returns NS_ERROR_NOT_IMPLEMENTED instead, so that the NS_ENSURE_SUCCESS will make HasLowUndecodedData() return false, see

Hi Alissa, please check if this patch solves the bug.
Flags: needinfo?(bechen) → needinfo?(
Hi Hubert,
According to commen 3, could you help to provide a build for us to verify.
Flags: needinfo?(hlu)
Attachment #8531742 - Flags: review?(bechen)
Comment on attachment 8531742 [details] [diff] [review]
Return NS_ERROR_NOT_IMPLEMENTED in RtspOmxReader::GetBuffered

Review of attachment 8531742 [details] [diff] [review]:

Please help to modify the RtspMediaCoderReader::GetBuffered as well.
Attachment #8531742 - Flags: review?(bechen) → review+
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → 2.2 S2 (19dec)
This issue has been failed verified on Flame 2.1
Reproducing rate: 0/5
Flame 2.1 build
Gaia-Rev        6af3d029bae3a14f400fec0926f0f8ad7b579b4b
Build-ID        20141221001202
Version         34.0
Flags: needinfo?(jhao)
Flags: needinfo?(
Flags: needinfo?(hlu)
Hi Alissa, I'm not sure what info you want me to provide. Could you elaborate on it? Do you want to uplift this patch to 2.1?

Flags: needinfo?(jhao) → needinfo?(
This issue still exist on flame2.1,so maybe there need some more modify.
Flags: needinfo?(
Hi Jonathan,
Sorry for type on comment 10, this bug is not fixed on latest build, Reproducing rate should be 5/5.
Flags: needinfo?(jhao)
It seems I didn't solve the problem completely. I used to test on this stream
and it doesn't have this problem, but when I tried other streams, if I pressed enough pause and play fast, the loading circle will come up, and when loading finished the video stays in paused state. It won't start playing even if I press play.

I can always reproduce it on this stream rtsp://

I will look into the cause.
Flags: needinfo?(jhao)
Resolution: FIXED → ---
I can reproduce this bug on this HTTP stream too.

After pressing pause and play fast and continuously for several seconds, the video froze. As I continue to press pause and play, the button's appearance did change accordingly (|| in paused state, and |> in playing state), and logs indicated that the state of decoder also did change accordingly, but the video just won't keep going.

The problem doesn't seem to be in the RTSP component, but more likely a timing issue of the decoder state machine. Hence, I will file another bug blocking this one.
Closed: 5 years ago5 years ago
Resolution: --- → DUPLICATE
Duplicate of bug: 1112412
You need to log in before you can comment on or make changes to this bug.