Skip to content

Commit fa40ab1

Browse files
authored
Refactor: Replace SB_DCHECK with SB_CHECK (#7093)
Replaced SB_DCHECK with SB_CHECK for pointers that are dereferenced immediately after the check. This ensures that the checks are present in release builds, preventing crashes from null pointers. This helps us pinpoint where null pointer dereference happens from crash stack trace. #vibe-coded Bug: 435425692 Bug: 443341225
1 parent 4633ed3 commit fa40ab1

16 files changed

+42
-43
lines changed

starboard/android/shared/audio_renderer_passthrough.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ constexpr int kTunnelModeAudioSessionId = -1;
4444
// The ExoPlayer implementation is based on
4545
// https://www.etsi.org/deliver/etsi_ts/102300_102399/102366/01.04.01_60/ts_102366v010401p.pdf.
4646
int ParseAc3SyncframeAudioSampleCount(const uint8_t* buffer, int size) {
47-
SB_DCHECK(buffer);
47+
SB_CHECK(buffer);
4848

4949
constexpr int kAudioSamplesPerAudioBlock = 256;
5050
// Each syncframe has 6 blocks that provide 256 new audio samples. See

starboard/android/shared/drm_system.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ DrmSystem::SessionUpdateRequest::SessionUpdateRequest(
102102

103103
void DrmSystem::SessionUpdateRequest::Generate(
104104
const MediaDrmBridge* media_drm_bridge) const {
105-
SB_DCHECK(media_drm_bridge);
105+
SB_CHECK(media_drm_bridge);
106106
media_drm_bridge->CreateSession(ticket_, init_data_, mime_);
107107
}
108108

starboard/android/shared/media_codec_bridge.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -504,7 +504,7 @@ void MediaCodecBridge::OnMediaCodecFirstTunnelFrameReady(JNIEnv* env) {
504504
}
505505

506506
MediaCodecBridge::MediaCodecBridge(Handler* handler) : handler_(handler) {
507-
SB_DCHECK(handler_);
507+
SB_CHECK(handler_);
508508
}
509509

510510
void MediaCodecBridge::Initialize(jobject j_media_codec_bridge) {

starboard/android/shared/media_codec_bridge.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -229,7 +229,7 @@ class MediaCodecBridge {
229229
explicit MediaCodecBridge(Handler* handler);
230230
void Initialize(jobject j_media_codec_bridge);
231231

232-
Handler* handler_ = NULL;
232+
Handler* const handler_;
233233
base::android::ScopedJavaGlobalRef<jobject> j_media_codec_bridge_ = NULL;
234234

235235
// Profiling and allocation tracking has identified this area to be hot,

starboard/android/shared/media_decoder.cc

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ MediaDecoder::MediaDecoder(Host* host,
8282
drm_system_(static_cast<DrmSystem*>(drm_system)),
8383
tunnel_mode_enabled_(false),
8484
flush_delay_usec_(0) {
85-
SB_DCHECK(host_);
85+
SB_CHECK(host_);
8686

8787
jobject j_media_crypto = drm_system_ ? drm_system_->GetMediaCrypto() : NULL;
8888
SB_DCHECK(!drm_system_ || j_media_crypto);
@@ -166,7 +166,6 @@ MediaDecoder::~MediaDecoder() {
166166
}
167167
// Call stop() here to notify MediaCodecBridge to not invoke any callbacks.
168168
media_codec_bridge_->Stop();
169-
host_ = NULL;
170169
}
171170
}
172171

@@ -233,7 +232,7 @@ void MediaDecoder::SetPlaybackRate(double playback_rate) {
233232

234233
// static
235234
void* MediaDecoder::DecoderThreadEntryPoint(void* context) {
236-
SB_DCHECK(context);
235+
SB_CHECK(context);
237236
MediaDecoder* decoder = static_cast<MediaDecoder*>(context);
238237
pthread_setname_np(pthread_self(), GetDecoderName(decoder->media_type_));
239238
if (decoder->media_type_ == kSbMediaTypeAudio) {

starboard/android/shared/media_decoder.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@ class MediaDecoder final
182182
::starboard::shared::starboard::ThreadChecker thread_checker_;
183183

184184
const SbMediaType media_type_;
185-
Host* host_;
185+
Host* const host_;
186186
DrmSystem* const drm_system_;
187187
const FrameRenderedCB frame_rendered_cb_;
188188
const FirstTunnelFrameReadyCB first_tunnel_frame_ready_cb_;

starboard/android/shared/player_components_factory.cc

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,7 @@ class PlayerComponentsFactory : public starboard::shared::starboard::player::
196196
std::unique_ptr<PlayerComponents> CreateComponents(
197197
const CreationParameters& creation_parameters,
198198
std::string* error_message) override {
199-
SB_DCHECK(error_message);
199+
SB_CHECK(error_message);
200200

201201
if (creation_parameters.audio_codec() != kSbMediaAudioCodecAc3 &&
202202
creation_parameters.audio_codec() != kSbMediaAudioCodecEac3) {
@@ -279,7 +279,7 @@ class PlayerComponentsFactory : public starboard::shared::starboard::player::
279279
std::unique_ptr<VideoRenderAlgorithmBase>* video_render_algorithm,
280280
scoped_refptr<VideoRendererSink>* video_renderer_sink,
281281
std::string* error_message) override {
282-
SB_DCHECK(error_message);
282+
SB_CHECK(error_message);
283283

284284
const std::string audio_mime =
285285
creation_parameters.audio_codec() != kSbMediaAudioCodecNone
@@ -467,8 +467,8 @@ class PlayerComponentsFactory : public starboard::shared::starboard::player::
467467
void GetAudioRendererParams(const CreationParameters& creation_parameters,
468468
int* max_cached_frames,
469469
int* min_frames_per_append) const override {
470-
SB_DCHECK(max_cached_frames);
471-
SB_DCHECK(min_frames_per_append);
470+
SB_CHECK(max_cached_frames);
471+
SB_CHECK(min_frames_per_append);
472472
SB_DCHECK(kDefaultAudioSinkMinFramesPerAppend % kAudioSinkFramesAlignment ==
473473
0);
474474
*min_frames_per_append = kDefaultAudioSinkMinFramesPerAppend;

starboard/android/shared/video_decoder.cc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -393,7 +393,7 @@ VideoDecoder::VideoDecoder(const VideoStreamInfo& video_stream_info,
393393
tunnel_mode_audio_session_id != -1),
394394
has_new_texture_available_(false),
395395
number_of_preroll_frames_(kInitialPrerollFrameCount) {
396-
SB_DCHECK(error_message);
396+
SB_CHECK(error_message);
397397

398398
if (force_secure_pipeline_under_tunnel_mode) {
399399
SB_DCHECK_NE(tunnel_mode_audio_session_id_, -1);
@@ -654,7 +654,7 @@ void VideoDecoder::Reset() {
654654
bool VideoDecoder::InitializeCodec(const VideoStreamInfo& video_stream_info,
655655
std::string* error_message) {
656656
SB_DCHECK(BelongsToCurrentThread());
657-
SB_DCHECK(error_message);
657+
SB_CHECK(error_message);
658658

659659
if (video_stream_info.codec == kSbMediaVideoCodecAv1) {
660660
SB_DCHECK_GT(pending_input_buffers_.size(), 0u);

starboard/android/shared/video_frame_tracker.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ const int64_t kMaxAllowedSkew = 5'000; // 5ms
3232
// Android.
3333
void RemoveUnexpectedRenderedFrames(const std::list<int64_t>& frames_to_render,
3434
std::vector<int64_t>* rendered_frames) {
35-
SB_DCHECK(rendered_frames);
35+
SB_CHECK(rendered_frames);
3636
if (rendered_frames->empty()) {
3737
return;
3838
}

starboard/android/shared/video_render_algorithm.cc

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,17 +40,17 @@ jlong GetSystemNanoTime() {
4040
VideoRenderAlgorithm::VideoRenderAlgorithm(VideoDecoder* video_decoder,
4141
VideoFrameTracker* frame_tracker)
4242
: video_decoder_(video_decoder), frame_tracker_(frame_tracker) {
43-
SB_DCHECK(video_decoder_);
43+
SB_CHECK(video_decoder_);
4444
video_decoder_->SetPlaybackRate(playback_rate_);
4545
}
4646

4747
void VideoRenderAlgorithm::Render(
4848
MediaTimeProvider* media_time_provider,
4949
std::list<scoped_refptr<VideoFrame>>* frames,
5050
VideoRendererSink::DrawFrameCB draw_frame_cb) {
51-
SB_DCHECK(media_time_provider);
52-
SB_DCHECK(frames);
53-
SB_DCHECK(draw_frame_cb);
51+
SB_CHECK(media_time_provider);
52+
SB_CHECK(frames);
53+
SB_CHECK(draw_frame_cb);
5454

5555
while (frames->size() > 0) {
5656
if (frames->front()->is_end_of_stream()) {

0 commit comments

Comments
 (0)