Skip to content

Commit ae74e35

Browse files
authored
starboard: Uniquely name shared media components (#7132)
This PR renames raspi/shared media components to be more descriptive and prevent naming conflicts for [go/cobalt-flatten-starboard-namespace](http://go/cobalt-flatten-starboard-namespace) `VideoDecoder` renaming - `starboard/raspi/shared/open_max/video_decoder.h`: `OpenMaxVideoDecoder` - `starboard/shared/ffmpeg/ffmpeg_video_decoder.h`: `FfmpegVideoDecoder` - `starboard/shared/libaom/aom_video_decoder.h`: `AomVideoDecoder` - `starboard/shared/libdav1d/dav1d_video_decoder.h`: `Dav1dVideoDecoder` - `starboard/shared/libde265/de265_video_decoder.h`: `De265VideoDecoder` - `starboard/shared/libvpx/vpx_video_decoder.h`: `VpxVideoDecoder` - `starboard/shared/openh264/openh264_video_decoder.h`: `OpenH264VideoDecoder` `AudioDecoder` renaming - `starboard/shared/ffmpeg/ffmpeg_audio_decoder.h`: `FfmpegAudioDecoder` Implementation class renaming - `starboard/shared/ffmpeg/ffmpeg_audio_decoder_impl.h`: `AudioDecoderImpl` -> `FfmpegAudioDecoderImpl` - `starboard/shared/ffmpeg/ffmpeg_video_decoder_impl.h`: `VideoDecoderImpl` -> `FfmpegVideoDecoderImpl` #vibe-coded Bug: 441955897
1 parent 7b849b9 commit ae74e35

25 files changed

+334
-318
lines changed

starboard/linux/shared/player_components_factory.cc

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,8 @@ class PlayerComponentsFactory : public PlayerComponents::Factory {
6868
SB_DCHECK(audio_decoder);
6969
SB_DCHECK(audio_renderer_sink);
7070

71-
typedef ::starboard::shared::ffmpeg::AudioDecoder FfmpegAudioDecoder;
71+
typedef ::starboard::shared::ffmpeg::FfmpegAudioDecoder
72+
FfmpegAudioDecoder;
7273
typedef ::starboard::shared::opus::OpusAudioDecoder OpusAudioDecoder;
7374
typedef ::starboard::shared::libfdkaac::FdkAacAudioDecoder
7475
FdkAacAudioDecoder;
@@ -112,12 +113,11 @@ class PlayerComponentsFactory : public PlayerComponents::Factory {
112113
}
113114

114115
if (creation_parameters.video_codec() != kSbMediaVideoCodecNone) {
115-
typedef ::starboard::shared::libdav1d::VideoDecoder Av1VideoDecoderImpl;
116-
typedef ::starboard::shared::de265::VideoDecoder H265VideoDecoderImpl;
117-
typedef ::starboard::shared::ffmpeg::VideoDecoder FfmpegVideoDecoderImpl;
118-
typedef ::starboard::shared::vpx::VideoDecoder VpxVideoDecoderImpl;
119-
typedef ::starboard::shared::openh264::VideoDecoder
120-
Openh264VideoDecoderImpl;
116+
using ::starboard::shared::de265::De265VideoDecoder;
117+
using ::starboard::shared::ffmpeg::FfmpegVideoDecoder;
118+
using ::starboard::shared::libdav1d::Dav1dVideoDecoder;
119+
using ::starboard::shared::openh264::OpenH264VideoDecoder;
120+
using ::starboard::shared::vpx::VpxVideoDecoder;
121121

122122
const int64_t kVideoSinkRenderIntervalUsec = 10'000;
123123

@@ -130,32 +130,32 @@ class PlayerComponentsFactory : public PlayerComponents::Factory {
130130
const SbMediaVideoCodec kAv1VideoCodec = kSbMediaVideoCodecAv1;
131131

132132
if (creation_parameters.video_codec() == kSbMediaVideoCodecVp9) {
133-
video_decoder->reset(new VpxVideoDecoderImpl(
133+
*video_decoder = std::make_unique<VpxVideoDecoder>(
134134
creation_parameters.video_codec(),
135135
creation_parameters.output_mode(),
136-
creation_parameters.decode_target_graphics_context_provider()));
136+
creation_parameters.decode_target_graphics_context_provider());
137137
} else if (creation_parameters.video_codec() == kAv1VideoCodec) {
138-
video_decoder->reset(new Av1VideoDecoderImpl(
138+
*video_decoder = std::make_unique<Dav1dVideoDecoder>(
139139
creation_parameters.video_codec(),
140140
creation_parameters.output_mode(),
141141
creation_parameters.decode_target_graphics_context_provider(),
142-
/* may_reduce_quality_for_speed = */ true));
142+
/* may_reduce_quality_for_speed = */ true);
143143
} else if (creation_parameters.video_codec() == kSbMediaVideoCodecH265) {
144-
video_decoder->reset(new H265VideoDecoderImpl(
144+
*video_decoder = std::make_unique<De265VideoDecoder>(
145145
creation_parameters.video_codec(),
146146
creation_parameters.output_mode(),
147-
creation_parameters.decode_target_graphics_context_provider()));
147+
creation_parameters.decode_target_graphics_context_provider());
148148
} else if ((creation_parameters.video_codec() ==
149149
kSbMediaVideoCodecH264) &&
150150
is_openh264_supported()) {
151151
SB_LOG(INFO) << "Playing video using openh264::VideoDecoder.";
152-
video_decoder->reset(new Openh264VideoDecoderImpl(
152+
*video_decoder = std::make_unique<OpenH264VideoDecoder>(
153153
creation_parameters.video_codec(),
154154
creation_parameters.output_mode(),
155-
creation_parameters.decode_target_graphics_context_provider()));
155+
creation_parameters.decode_target_graphics_context_provider());
156156
} else {
157-
std::unique_ptr<FfmpegVideoDecoderImpl> ffmpeg_video_decoder(
158-
FfmpegVideoDecoderImpl::Create(
157+
std::unique_ptr<FfmpegVideoDecoder> ffmpeg_video_decoder(
158+
FfmpegVideoDecoder::Create(
159159
creation_parameters.video_codec(),
160160
creation_parameters.output_mode(),
161161
creation_parameters.decode_target_graphics_context_provider()));

starboard/raspi/shared/open_max/video_decoder.cc

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -34,16 +34,16 @@ const int64_t kUpdateIntervalUsec = 5'000;
3434

3535
} // namespace
3636

37-
VideoDecoder::VideoDecoder(SbMediaVideoCodec video_codec)
37+
OpenMaxVideoDecoder::OpenMaxVideoDecoder(SbMediaVideoCodec video_codec)
3838
: resource_pool_(new DispmanxResourcePool(kResourcePoolSize)),
3939
eos_written_(false),
4040
request_thread_termination_(false) {
4141
SB_DCHECK_EQ(video_codec, kSbMediaVideoCodecH264);
42-
update_job_ = std::bind(&VideoDecoder::Update, this);
42+
update_job_ = std::bind(&OpenMaxVideoDecoder::Update, this);
4343
update_job_token_ = Schedule(update_job_, kUpdateIntervalUsec);
4444
}
4545

46-
VideoDecoder::~VideoDecoder() {
46+
OpenMaxVideoDecoder::~OpenMaxVideoDecoder() {
4747
if (thread_) {
4848
{
4949
std::lock_guard scoped_lock(mutex_);
@@ -54,8 +54,8 @@ VideoDecoder::~VideoDecoder() {
5454
RemoveJobByToken(update_job_token_);
5555
}
5656

57-
void VideoDecoder::Initialize(const DecoderStatusCB& decoder_status_cb,
58-
const ErrorCB& error_cb) {
57+
void OpenMaxVideoDecoder::Initialize(const DecoderStatusCB& decoder_status_cb,
58+
const ErrorCB& error_cb) {
5959
SB_DCHECK(decoder_status_cb);
6060
SB_DCHECK(!decoder_status_cb_);
6161
SB_DCHECK(error_cb);
@@ -66,13 +66,13 @@ void VideoDecoder::Initialize(const DecoderStatusCB& decoder_status_cb,
6666

6767
SB_DCHECK(!thread_);
6868
pthread_t thread;
69-
const int result =
70-
pthread_create(&thread, nullptr, &VideoDecoder::ThreadEntryPoint, this);
69+
const int result = pthread_create(
70+
&thread, nullptr, &OpenMaxVideoDecoder::ThreadEntryPoint, this);
7171
SB_CHECK_EQ(result, 0);
7272
thread_ = thread;
7373
}
7474

75-
void VideoDecoder::WriteInputBuffers(const InputBuffers& input_buffers) {
75+
void OpenMaxVideoDecoder::WriteInputBuffers(const InputBuffers& input_buffers) {
7676
SB_DCHECK_EQ(input_buffers.size(), 1);
7777
SB_DCHECK(input_buffers[0]);
7878
SB_DCHECK(decoder_status_cb_);
@@ -89,7 +89,7 @@ void VideoDecoder::WriteInputBuffers(const InputBuffers& input_buffers) {
8989
}
9090
}
9191

92-
void VideoDecoder::WriteEndOfStream() {
92+
void OpenMaxVideoDecoder::WriteEndOfStream() {
9393
eos_written_ = true;
9494
if (first_input_written_) {
9595
queue_.Put(new Event(Event::kWriteEOS));
@@ -98,7 +98,7 @@ void VideoDecoder::WriteEndOfStream() {
9898
}
9999
}
100100

101-
void VideoDecoder::Reset() {
101+
void OpenMaxVideoDecoder::Reset() {
102102
queue_.Put(new Event(Event::kReset));
103103
// TODO: we should introduce a wait here for |queue_| to be fully processed
104104
// before returning however the wait time is very long (over 40 seconds).
@@ -107,14 +107,14 @@ void VideoDecoder::Reset() {
107107
first_input_written_ = false;
108108
}
109109

110-
void VideoDecoder::Update() {
110+
void OpenMaxVideoDecoder::Update() {
111111
if (eos_written_) {
112112
TryToDeliverOneFrame();
113113
}
114114
update_job_token_ = Schedule(update_job_, kUpdateIntervalUsec);
115115
}
116116

117-
bool VideoDecoder::TryToDeliverOneFrame() {
117+
bool OpenMaxVideoDecoder::TryToDeliverOneFrame() {
118118
scoped_refptr<VideoFrame> frame;
119119
{
120120
std::lock_guard scoped_lock(mutex_);
@@ -136,15 +136,16 @@ bool VideoDecoder::TryToDeliverOneFrame() {
136136
}
137137

138138
// static
139-
void* VideoDecoder::ThreadEntryPoint(void* context) {
139+
void* OpenMaxVideoDecoder::ThreadEntryPoint(void* context) {
140140
pthread_setname_np(pthread_self(), "omx_video_decoder");
141141
SbThreadSetPriority(kSbThreadPriorityHigh);
142-
VideoDecoder* decoder = reinterpret_cast<VideoDecoder*>(context);
142+
OpenMaxVideoDecoder* decoder =
143+
reinterpret_cast<OpenMaxVideoDecoder*>(context);
143144
decoder->RunLoop();
144145
return NULL;
145146
}
146147

147-
void VideoDecoder::RunLoop() {
148+
void OpenMaxVideoDecoder::RunLoop() {
148149
bool stream_ended = false;
149150
bool eos_written = false;
150151
OpenMaxVideoDecodeComponent component;
@@ -256,7 +257,7 @@ void VideoDecoder::RunLoop() {
256257
}
257258
}
258259

259-
scoped_refptr<VideoDecoder::VideoFrame> VideoDecoder::CreateFrame(
260+
scoped_refptr<OpenMaxVideoDecoder::VideoFrame> OpenMaxVideoDecoder::CreateFrame(
260261
const OMX_BUFFERHEADERTYPE* buffer) {
261262
scoped_refptr<VideoFrame> frame;
262263
if (buffer->nFlags & OMX_BUFFERFLAG_EOS) {

starboard/raspi/shared/open_max/video_decoder.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,14 +39,14 @@ namespace raspi {
3939
namespace shared {
4040
namespace open_max {
4141

42-
class VideoDecoder
42+
class OpenMaxVideoDecoder
4343
: public ::starboard::shared::starboard::player::filter::VideoDecoder,
4444
private ::starboard::shared::starboard::player::JobQueue::JobOwner {
4545
public:
4646
typedef ::starboard::shared::starboard::player::JobQueue JobQueue;
4747

48-
explicit VideoDecoder(SbMediaVideoCodec video_codec);
49-
~VideoDecoder() override;
48+
explicit OpenMaxVideoDecoder(SbMediaVideoCodec video_codec);
49+
~OpenMaxVideoDecoder() override;
5050

5151
void Initialize(const DecoderStatusCB& decoder_status_cb,
5252
const ErrorCB& error_cb) override;

starboard/raspi/shared/player_components_factory.cc

Lines changed: 21 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -50,47 +50,45 @@ class PlayerComponentsFactory : public PlayerComponents::Factory {
5050
SB_DCHECK(audio_decoder);
5151
SB_DCHECK(audio_renderer_sink);
5252

53-
auto decoder_creator = [](const media::AudioStreamInfo& audio_stream_info,
54-
SbDrmSystem drm_system) {
55-
typedef ::starboard::shared::ffmpeg::AudioDecoder AudioDecoderImpl;
56-
typedef ::starboard::shared::opus::OpusAudioDecoder
57-
OpusAudioDecoderImpl;
53+
auto decoder_creator =
54+
[](const media::AudioStreamInfo& audio_stream_info,
55+
SbDrmSystem drm_system) -> std::unique_ptr<AudioDecoder> {
56+
using ::starboard::shared::ffmpeg::FfmpegAudioDecoder;
57+
using ::starboard::shared::opus::OpusAudioDecoder;
5858

5959
if (audio_stream_info.codec == kSbMediaAudioCodecOpus) {
60-
std::unique_ptr<OpusAudioDecoderImpl> opus_audio_decoder_impl(
61-
new OpusAudioDecoderImpl(audio_stream_info));
62-
if (opus_audio_decoder_impl && opus_audio_decoder_impl->is_valid()) {
63-
return std::unique_ptr<AudioDecoder>(
64-
std::move(opus_audio_decoder_impl));
60+
auto opus_audio_decoder =
61+
std::make_unique<OpusAudioDecoder>(audio_stream_info);
62+
if (opus_audio_decoder && opus_audio_decoder->is_valid()) {
63+
return opus_audio_decoder;
6564
}
6665
} else {
67-
std::unique_ptr<AudioDecoderImpl> audio_decoder_impl(
68-
AudioDecoderImpl::Create(audio_stream_info));
69-
if (audio_decoder_impl && audio_decoder_impl->is_valid()) {
70-
return std::unique_ptr<AudioDecoder>(std::move(audio_decoder_impl));
66+
auto ffmpeg_audio_decoder = std::unique_ptr<FfmpegAudioDecoder>(
67+
FfmpegAudioDecoder::Create(audio_stream_info));
68+
if (ffmpeg_audio_decoder && ffmpeg_audio_decoder->is_valid()) {
69+
return ffmpeg_audio_decoder;
7170
}
7271
}
73-
return std::unique_ptr<AudioDecoder>();
72+
return nullptr;
7473
};
7574

76-
audio_decoder->reset(new AdaptiveAudioDecoder(
75+
*audio_decoder = std::make_unique<AdaptiveAudioDecoder>(
7776
creation_parameters.audio_stream_info(),
78-
creation_parameters.drm_system(), decoder_creator));
79-
audio_renderer_sink->reset(new AudioRendererSinkImpl);
77+
creation_parameters.drm_system(), decoder_creator);
78+
*audio_renderer_sink = std::make_unique<AudioRendererSinkImpl>();
8079
}
8180

8281
if (creation_parameters.video_codec() != kSbMediaVideoCodecNone) {
83-
using VideoDecoderImpl =
84-
::starboard::raspi::shared::open_max::VideoDecoder;
8582
using ::starboard::raspi::shared::VideoRendererSinkImpl;
83+
using ::starboard::raspi::shared::open_max::OpenMaxVideoDecoder;
8684

8785
SB_DCHECK(video_decoder);
8886
SB_DCHECK(video_render_algorithm);
8987
SB_DCHECK(video_renderer_sink);
9088

91-
video_decoder->reset(
92-
new VideoDecoderImpl(creation_parameters.video_codec()));
93-
video_render_algorithm->reset(new VideoRenderAlgorithmImpl);
89+
*video_decoder = std::make_unique<OpenMaxVideoDecoder>(
90+
creation_parameters.video_codec());
91+
*video_render_algorithm = std::make_unique<VideoRenderAlgorithmImpl>();
9492
*video_renderer_sink =
9593
new VideoRendererSinkImpl(creation_parameters.player());
9694
}

starboard/shared/ffmpeg/ffmpeg_audio_decoder.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,12 @@
2222

2323
namespace starboard::shared::ffmpeg {
2424

25-
class AudioDecoder : public starboard::player::filter::AudioDecoder {
25+
class FfmpegAudioDecoder : public starboard::player::filter::AudioDecoder {
2626
public:
2727
typedef starboard::media::AudioStreamInfo AudioStreamInfo;
2828

2929
// Create an audio decoder for the currently loaded ffmpeg library.
30-
static AudioDecoder* Create(const AudioStreamInfo& audio_stream_info);
30+
static FfmpegAudioDecoder* Create(const AudioStreamInfo& audio_stream_info);
3131
// Returns true if the audio decoder is initialized successfully.
3232
virtual bool is_valid() const = 0;
3333
};

0 commit comments

Comments
 (0)