我執行在右舷的媒體處理器,和我遇到的情況是在我的鈷客戶端應用程序不緩衝內容積極就夠了。這導致它只是空着一個空的緩衝區。當平臺的緩衝區被耗盡時,什麼是正確的Starboard事件觸發?我應該以某種方式冒出一個錯誤,或者是否有信號可以讓客戶端應用程序請求更多數據?處理緩衝區溢出的最佳方法?
2
A
回答
5
當有溢,玩家執行應當以內部暫停視頻播放處理。對於最終用戶來說媒體播放會暫停,而媒體堆棧的狀態仍被視爲「正在播放」。這使玩家有機會在再次播放之前接收一些視頻數據。在參考實現中,PlayerWorker通過暫停音頻播放來實現此目的。由於媒體時間和視頻播放與音頻時間相關,因此整個播放器都會暫停播放。
當新數據到來時,玩家要播放自動恢復。玩家實施也可以選擇增加預卷/恢復所需的緩衝量以避免未來的欠載,但通常不需要。
至於你提到你的應用程序不斷運行到欠載運行。即使可以適當地處理欠載運行,解決這個問題也可以獲得更好的用戶體驗。
我檢查的第一件事是,測試環境有要求的視頻質量足夠的網絡帶寬。如果該應用針對網絡非常差的市場,請考慮緩衝更多媒體數據。
如果應用欠載運行時有足夠的網絡帶寬,則表明沒有處理媒體數據速度不夠快。一個好方法是檢查是否kSbPlayerDecoderStateNeedsData被激發足夠頻繁和SbPlayerWriteSample()被稱爲沒有太多的延遲,因爲這是跨邊界的右偏移動媒體數據的唯一地方。
相關問題
- 1. 緩衝區溢出(VS)緩衝區溢出(VS)堆棧溢出
- 2. 緩衝區溢出
- 3. 緩衝區溢出緩衝區長度
- 4. 的strtok - 緩衝區溢出
- 5. 的Java字節緩衝區「放」的方法 - 防止緩衝區溢出
- 6. 緩衝區溢出不溢出
- 7. 堆棧方向和緩衝區溢出
- 8. 堆棧緩衝區溢出
- 9. 緩衝區溢出攻擊
- 10. 測試緩衝區溢出
- 11. JSP緩衝區溢出
- 12. 數組緩衝區溢出
- 13. QTime緩衝區溢出?
- 14. 過程緩衝區溢出
- 15. C++溢出緩衝區
- 16. 緩衝區溢出援助
- 17. Dillema與緩衝區溢出
- 18. 緩衝區溢出與gets()
- 19. PHP緩衝區溢出
- 20. 利用緩衝區溢出
- 21. OpenCV緩衝區溢出
- 22. AudioRecord:緩衝區溢出?
- 23. 緩衝區溢出Xuggler
- 24. 試驗緩衝區溢出
- 25. 緩衝區溢出攻擊
- 26. vi,vim緩衝區溢出
- 27. PaX和緩衝區溢出
- 28. Stackbased緩衝區溢出
- 29. 緩衝區溢出刪除[]
- 30. 緩衝區溢出 - linux 64bit