Skip to content

Commit

Permalink
Bug 1896758 - Part 3. Add min/max bitrate to EncoderConfig. r=media-p…
Browse files Browse the repository at this point in the history
…layback-reviewers,padenot

Differential Revision: https://phabricator.services.mozilla.com/D211652
  • Loading branch information
aosmond committed May 27, 2024
1 parent e982772 commit 56bf9a8
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 4 deletions.
2 changes: 1 addition & 1 deletion dom/media/gtest/TestMediaDataEncoder.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,7 @@ already_AddRefed<MediaDataEncoder> CreateVideoEncoder(
EncoderConfig(aCodec, gfx::IntSize{aWidth, aHeight}, aUsage, aPixelFormat,
aPixelFormat, FRAME_RATE /* FPS */,
KEYFRAME_INTERVAL /* keyframe interval */,
BIT_RATE /* bitrate */, BIT_RATE_MODE, pref,
BIT_RATE /* bitrate */, 0, 0, BIT_RATE_MODE, pref,
aScalabilityMode, aSpecific),
taskQueue);

Expand Down
5 changes: 5 additions & 0 deletions dom/media/platforms/EncoderConfig.h
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,7 @@ class EncoderConfig final {
const Usage aUsage, const PixelFormat aPixelFormat,
const PixelFormat aSourcePixelFormat, const uint8_t aFramerate,
const size_t aKeyframeInterval, const uint32_t aBitrate,
const uint32_t aMinBitrate, const uint32_t aMaxBitrate,
const BitrateMode aBitrateMode,
const HardwarePreference aHardwarePreference,
const ScalabilityMode aScalabilityMode,
Expand All @@ -133,6 +134,8 @@ class EncoderConfig final {
mSize(aSize),
mBitrateMode(aBitrateMode),
mBitrate(aBitrate),
mMinBitrate(aMinBitrate),
mMaxBitrate(aMaxBitrate),
mUsage(aUsage),
mHardwarePreference(aHardwarePreference),
mPixelFormat(aPixelFormat),
Expand Down Expand Up @@ -173,6 +176,8 @@ class EncoderConfig final {
gfx::IntSize mSize{};
BitrateMode mBitrateMode{};
uint32_t mBitrate{};
uint32_t mMinBitrate{};
uint32_t mMaxBitrate{};
Usage mUsage{};
// Video-only
HardwarePreference mHardwarePreference{};
Expand Down
2 changes: 1 addition & 1 deletion dom/media/webcodecs/VideoEncoder.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -276,7 +276,7 @@ EncoderConfig VideoEncoderConfigInternal::ToEncoderConfig() const {
return EncoderConfig(codecType, {mWidth, mHeight}, usage,
ImageBitmapFormat::RGBA32, ImageBitmapFormat::RGBA32,
AssertedCast<uint8_t>(mFramerate.refOr(0.f)), 0,
mBitrate.refOr(0),
mBitrate.refOr(0), 0, 0,
mBitrateMode == VideoEncoderBitrateMode::Constant
? mozilla::BitrateMode::Constant
: mozilla::BitrateMode::Variable,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -291,8 +291,9 @@ already_AddRefed<MediaDataEncoder> WebrtcMediaDataEncoder::CreateEncoder(
type, {aCodecSettings->width, aCodecSettings->height}, Usage::Realtime,
dom::ImageBitmapFormat::YUV420P, dom::ImageBitmapFormat::YUV420P,
aCodecSettings->maxFramerate, keyframeInterval,
mBitrateAdjuster.GetTargetBitrateBps(), BitrateMode::Variable,
HardwarePreference::None, ScalabilityMode::None, specific);
mBitrateAdjuster.GetTargetBitrateBps(), mMinBitrateBps, mMaxBitrateBps,
BitrateMode::Variable, HardwarePreference::None, ScalabilityMode::None,
specific);
return mFactory->CreateEncoder(config, mTaskQueue);
}

Expand Down

0 comments on commit 56bf9a8

Please sign in to comment.