aboutsummaryrefslogtreecommitdiff
path: root/cast/standalone_receiver/sdl_video_player.cc
diff options
context:
space:
mode:
authorKennan Gumbs <kennangumbs@google.com>2021-08-10 18:46:42 -0400
committerOpenscreen LUCI CQ <openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com>2021-08-11 17:02:39 +0000
commit65bcc6e2e999734396ed5abef202b1bfe4228e21 (patch)
tree521c5027f7d80f248994d3240b51d9210b3df251 /cast/standalone_receiver/sdl_video_player.cc
parent8b2ec3ddc163fe9c5216d4869d3b5f0c7efd33b1 (diff)
downloadopenscreen-65bcc6e2e999734396ed5abef202b1bfe4228e21.tar.gz
Enable AV1 codec in standalone sender and receiver
This patch adds support for AV1 using libaom. It also adds documentation for compiling libaom from source, since the version provided by the Linux package manager is too slow for realistic use. Change-Id: Icd0bb3001a1107087749de9e24a9781b3b8b04d4 Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/3066030 Commit-Queue: Jordan Bayles <jophba@chromium.org> Reviewed-by: Jordan Bayles <jophba@chromium.org>
Diffstat (limited to 'cast/standalone_receiver/sdl_video_player.cc')
-rw-r--r--cast/standalone_receiver/sdl_video_player.cc10
1 files changed, 9 insertions, 1 deletions
diff --git a/cast/standalone_receiver/sdl_video_player.cc b/cast/standalone_receiver/sdl_video_player.cc
index 999545de..a1b89177 100644
--- a/cast/standalone_receiver/sdl_video_player.cc
+++ b/cast/standalone_receiver/sdl_video_player.cc
@@ -8,6 +8,7 @@
#include <utility>
#include "cast/standalone_receiver/avcodec_glue.h"
+#include "util/enum_name_table.h"
#include "util/osp_logging.h"
#include "util/trace_logging.h"
@@ -18,6 +19,13 @@ namespace {
constexpr char kVideoMediaType[] = "video";
} // namespace
+constexpr EnumNameTable<VideoCodec, 6> kFfmpegCodecDescriptors{
+ {{"h264", VideoCodec::kH264},
+ {"vp8", VideoCodec::kVp8},
+ {"hevc", VideoCodec::kHevc},
+ {"vp9", VideoCodec::kVp9},
+ {"libaom-av1", VideoCodec::kAv1}}};
+
SDLVideoPlayer::SDLVideoPlayer(ClockNowFunctionPtr now_function,
TaskRunner* task_runner,
Receiver* receiver,
@@ -27,7 +35,7 @@ SDLVideoPlayer::SDLVideoPlayer(ClockNowFunctionPtr now_function,
: SDLPlayerBase(now_function,
task_runner,
receiver,
- CodecToString(codec),
+ GetEnumName(kFfmpegCodecDescriptors, codec).value(),
std::move(error_callback),
kVideoMediaType),
renderer_(renderer) {