&& !video_frame->IsTBMBackend()
#endif
) {
+ if (!raster_context_provider)
+ return false;
DCHECK(raster_context_provider);
bool supports_oop_raster =
raster_context_provider->ContextCapabilities().supports_oop_raster;
// invalidate iterators.
Vector<WebMediaStreamSink*> sinks_copy(sinks_);
- for (auto* sink : sinks_copy)
- sink->OnReadyStateChanged(state);
+ for (auto* sink : sinks_copy) {
+ if (sink)
+ sink->OnReadyStateChanged(state);
+ }
Vector<WebMediaStreamSink*> encoded_sinks_copy(encoded_sinks_);
- for (auto* encoded_sink : encoded_sinks_copy)
- encoded_sink->OnReadyStateChanged(state);
+ for (auto* encoded_sink : encoded_sinks_copy) {
+ if (encoded_sink)
+ encoded_sink->OnReadyStateChanged(state);
+ }
}
void MediaStreamVideoTrack::SetMinimumFrameRate(double min_frame_rate) {
return "MediaSource";
case WebMediaPlayer::kLoadTypeMediaStream:
return "MediaStream";
+ default:
+ return "Unknown type";
}
}
return "HaveFutureData";
case WebMediaPlayer::kReadyStateHaveEnoughData:
return "HaveEnoughData";
+ default:
+ return "Unknown state";
}
}
return "NetworkError";
case WebMediaPlayer::kNetworkStateDecodeError:
return "DecodeError";
+ default:
+ return "Unknown state";
}
}
// Abort early if `this_weak_ptr` is no longer valid.
if (!this_weak_ptr) {
- observer->OnSetRemoteDescriptionComplete(RTCError(
- RTCErrorType::INTERNAL_ERROR,
- "SetRemoteDescription failed because the session was shut down"));
+ if (observer) {
+ observer->OnSetRemoteDescriptionComplete(
+ RTCError(RTCErrorType::INTERNAL_ERROR,
+ "SetRemoteDescription failed because the session was "
+ "shut down"));
+ }
operations_chain_callback();
return;
}