@@ -224,7 +224,10 @@ MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer()
224
224
{
225
225
GST_DEBUG_OBJECT (pipeline (), " Disposing player" );
226
226
m_isPlayerShuttingDown.store (true );
227
- m_telemetry.reportPlaybackState (Telemetry::IReport::AVPipelineState::STOP);
227
+
228
+ auto & quirksManager = GStreamerQuirksManager::singleton ();
229
+ if (quirksManager.isEnabled ())
230
+ quirksManager.reportPlaybackState (Telemetry::IReport::AVPipelineState::STOP);
228
231
229
232
if (m_gstreamerHolePunchHost)
230
233
m_gstreamerHolePunchHost->playerPrivateWillBeDestroyed ();
@@ -292,7 +295,9 @@ MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer()
292
295
293
296
m_player = nullptr ;
294
297
m_notifier->invalidate ();
295
- m_telemetry.reportPlaybackState (Telemetry::IReport::AVPipelineState::DESTROY);
298
+
299
+ if (quirksManager.isEnabled ())
300
+ quirksManager.reportPlaybackState (Telemetry::IReport::AVPipelineState::DESTROY);
296
301
}
297
302
298
303
bool MediaPlayerPrivateGStreamer::isAvailable ()
@@ -452,7 +457,10 @@ void MediaPlayerPrivateGStreamer::play()
452
457
m_preload = MediaPlayer::Preload::Auto;
453
458
updateDownloadBufferingFlag ();
454
459
GST_INFO_OBJECT (pipeline (), " Play" );
455
- m_telemetry.reportPlaybackState (Telemetry::IReport::AVPipelineState::PLAY);
460
+
461
+ auto & quirksManager = GStreamerQuirksManager::singleton ();
462
+ if (quirksManager.isEnabled ())
463
+ quirksManager.reportPlaybackState (Telemetry::IReport::AVPipelineState::PLAY);
456
464
} else
457
465
loadingFailed (MediaPlayer::NetworkState::Empty);
458
466
}
@@ -471,7 +479,9 @@ void MediaPlayerPrivateGStreamer::pause()
471
479
auto result = changePipelineState (GST_STATE_PAUSED);
472
480
if (result == ChangePipelineStateResult::Ok) {
473
481
GST_INFO_OBJECT (pipeline (), " Pause" );
474
- m_telemetry.reportPlaybackState (Telemetry::IReport::AVPipelineState::PAUSE);
482
+ auto & quirksManager = GStreamerQuirksManager::singleton ();
483
+ if (quirksManager.isEnabled ())
484
+ quirksManager.reportPlaybackState (Telemetry::IReport::AVPipelineState::PAUSE);
475
485
} else if (result == ChangePipelineStateResult::Failed)
476
486
loadingFailed (MediaPlayer::NetworkState::Empty);
477
487
}
@@ -578,8 +588,11 @@ void MediaPlayerPrivateGStreamer::seek(const MediaTime& mediaTime)
578
588
579
589
MediaTime time = std::min (mediaTime, durationMediaTime ());
580
590
GST_INFO_OBJECT (pipeline (), " [Seek] seeking to %s" , toString (time ).utf8 ().data ());
581
- m_telemetry.reportPlaybackState (Telemetry::IReport::AVPipelineState::SEEK_START,
582
- " seek_from:" + std::to_string (playbackPosition ().toDouble ()) + " , seek_to:" + std::to_string (time .toDouble ()));
591
+
592
+ auto & quirksManager = GStreamerQuirksManager::singleton ();
593
+ if (quirksManager.isEnabled ())
594
+ quirksManager.reportPlaybackState (Telemetry::IReport::AVPipelineState::SEEK_START,
595
+ " seek_from:" + std::to_string (playbackPosition ().toDouble ()) + " , seek_to:" + std::to_string (time .toDouble ()));
583
596
584
597
if (m_isSeeking) {
585
598
m_timeOfOverlappingSeek = time ;
@@ -1882,7 +1895,10 @@ void MediaPlayerPrivateGStreamer::handleMessage(GstMessage* message)
1882
1895
break ;
1883
1896
1884
1897
m_errorMessage = String::fromLatin1 (err->message );
1885
- m_telemetry.reportPlaybackState (Telemetry::IReport::AVPipelineState::PLAYBACK_ERROR, std::string (err->message ));
1898
+
1899
+ auto & quirksManager = GStreamerQuirksManager::singleton ();
1900
+ if (quirksManager.isEnabled ())
1901
+ quirksManager.reportPlaybackState (Telemetry::IReport::AVPipelineState::PLAYBACK_ERROR, std::string (err->message ));
1886
1902
1887
1903
error = MediaPlayer::NetworkState::Empty;
1888
1904
if (g_error_matches (err.get (), GST_STREAM_ERROR, GST_STREAM_ERROR_CODEC_NOT_FOUND)
@@ -2521,7 +2537,11 @@ void MediaPlayerPrivateGStreamer::purgeOldDownloadFiles(const String& downloadFi
2521
2537
void MediaPlayerPrivateGStreamer::finishSeek ()
2522
2538
{
2523
2539
GST_DEBUG_OBJECT (pipeline (), " [Seek] seeked to %s" , toString (m_seekTime).utf8 ().data ());
2524
- m_telemetry.reportPlaybackState (Telemetry::IReport::AVPipelineState::SEEK_DONE, " seek_to:" + std::to_string (m_seekTime.toDouble ()));
2540
+
2541
+ auto & quirksManager = GStreamerQuirksManager::singleton ();
2542
+ if (quirksManager.isEnabled ())
2543
+ quirksManager.reportPlaybackState (Telemetry::IReport::AVPipelineState::SEEK_DONE, " seek_to:" + std::to_string (m_seekTime.toDouble ()));
2544
+
2525
2545
m_isSeeking = false ;
2526
2546
invalidateCachedPosition ();
2527
2547
if (m_timeOfOverlappingSeek != m_seekTime && m_timeOfOverlappingSeek.isValid ()) {
@@ -2881,7 +2901,10 @@ void MediaPlayerPrivateGStreamer::didEnd()
2881
2901
#endif
2882
2902
}
2883
2903
timeChanged ();
2884
- m_telemetry.reportPlaybackState (Telemetry::IReport::AVPipelineState::END_OF_STREAM);
2904
+
2905
+ auto & quirksManager = GStreamerQuirksManager::singleton ();
2906
+ if (quirksManager.isEnabled ())
2907
+ quirksManager.reportPlaybackState (Telemetry::IReport::AVPipelineState::END_OF_STREAM);
2885
2908
}
2886
2909
2887
2910
void MediaPlayerPrivateGStreamer::getSupportedTypes (HashSet<String, ASCIICaseInsensitiveHash>& types)
@@ -3113,8 +3136,11 @@ void MediaPlayerPrivateGStreamer::createGSTPlayBin(const URL& url)
3113
3136
player->videoSinkCapsChanged (videoSinkPad);
3114
3137
}), this );
3115
3138
3116
- m_telemetry.reportDrmInfo (getDrm ());
3117
- m_telemetry.reportPlaybackState (Telemetry::IReport::AVPipelineState::CREATE);
3139
+ auto & quirksManager = GStreamerQuirksManager::singleton ();
3140
+ if (quirksManager.isEnabled ()) {
3141
+ quirksManager.reportDrmInfo (getDrm ());
3142
+ quirksManager.reportPlaybackState (Telemetry::IReport::AVPipelineState::CREATE);
3143
+ }
3118
3144
}
3119
3145
3120
3146
void MediaPlayerPrivateGStreamer::configureVideoDecoder (GstElement* decoder)
@@ -3204,7 +3230,10 @@ void MediaPlayerPrivateGStreamer::pausedTimerFired()
3204
3230
{
3205
3231
GST_DEBUG_OBJECT (pipeline (), " In PAUSED for too long. Releasing pipeline resources." );
3206
3232
changePipelineState (GST_STATE_NULL);
3207
- m_telemetry.reportPlaybackState (Telemetry::IReport::AVPipelineState::DESTROY);
3233
+
3234
+ auto & quirksManager = GStreamerQuirksManager::singleton ();
3235
+ if (quirksManager.isEnabled ())
3236
+ quirksManager.reportPlaybackState (Telemetry::IReport::AVPipelineState::DESTROY);
3208
3237
}
3209
3238
3210
3239
void MediaPlayerPrivateGStreamer::acceleratedRenderingStateChanged ()
0 commit comments