Issue #2332 - Use the same path for passing on missed data to video sink, as during normal operation

https://bugzilla.mozilla.org/show_bug.cgi?id=1305949 part 2
This commit is contained in:
Basilisk-Dev 2023-10-05 16:48:52 -04:00 committed by roytam1
commit a87f8cc7f7

View file

@ -2893,8 +2893,7 @@ SourceMediaStream::AddDirectTrackListenerImpl(already_AddRefed<DirectMediaStream
isVideo = track->GetType() == MediaSegment::VIDEO;
}
MediaStreamVideoSink* videoSink = listener->AsMediaStreamVideoSink();
if (track && isVideo && videoSink) {
if (track && isVideo && listener->AsMediaStreamVideoSink()) {
// Re-send missed VideoSegment to new added MediaStreamVideoSink.
VideoSegment* trackSegment = static_cast<VideoSegment*>(track->GetSegment());
VideoSegment videoSegment;
@ -2906,7 +2905,7 @@ SourceMediaStream::AddDirectTrackListenerImpl(already_AddRefed<DirectMediaStream
if (updateData) {
videoSegment.AppendSlice(*updateData->mData, 0, updateData->mData->GetDuration());
}
videoSink->SetCurrentFrames(videoSegment);
listener->NotifyRealtimeTrackData(Graph(), 0, videoSegment);
}
if (track && (isAudio || isVideo)) {