Android: fix some MediaPlayer signals not being emitted on first load.
When loading the first media while the video output was not yet ready, mediaChanged() and mediaStatusChanged() signals were not emitted. That's because in that particular situation, the backend believed the delayed loading was a reload of the same media. Change-Id: If5dfbf383ea2dac065fc26b70640ebfb2c52862d Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
This commit is contained in:
@@ -307,7 +307,7 @@ void QAndroidMediaPlayerControl::setMedia(const QMediaContent &mediaContent,
|
|||||||
{
|
{
|
||||||
StateChangeNotifier notifier(this);
|
StateChangeNotifier notifier(this);
|
||||||
|
|
||||||
mReloadingMedia = (mMediaContent == mediaContent);
|
mReloadingMedia = (mMediaContent == mediaContent) && !mPendingSetMedia;
|
||||||
|
|
||||||
if (!mReloadingMedia) {
|
if (!mReloadingMedia) {
|
||||||
mMediaContent = mediaContent;
|
mMediaContent = mediaContent;
|
||||||
@@ -712,8 +712,8 @@ void QAndroidMediaPlayerControl::resetBufferingProgress()
|
|||||||
void QAndroidMediaPlayerControl::flushPendingStates()
|
void QAndroidMediaPlayerControl::flushPendingStates()
|
||||||
{
|
{
|
||||||
if (mPendingSetMedia) {
|
if (mPendingSetMedia) {
|
||||||
mPendingSetMedia = false;
|
|
||||||
setMedia(mMediaContent, 0);
|
setMedia(mMediaContent, 0);
|
||||||
|
mPendingSetMedia = false;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user