summaryrefslogtreecommitdiffstats
path: root/media/base
diff options
context:
space:
mode:
Diffstat (limited to 'media/base')
-rw-r--r--media/base/media_posix.cc11
1 files changed, 10 insertions, 1 deletions
diff --git a/media/base/media_posix.cc b/media/base/media_posix.cc
index 4bddf6d..94c1a89 100644
--- a/media/base/media_posix.cc
+++ b/media/base/media_posix.cc
@@ -122,6 +122,11 @@ void av_free(void* ptr) {
return av_free_ptr(ptr);
}
+int64_t (*av_rescale_q_ptr)(int64_t a, AVRational bq, AVRational cq) = NULL;
+int64_t av_rescale_q(int64_t a, AVRational bq, AVRational cq) {
+ return av_rescale_q_ptr(a, bq, cq);
+}
+
} // extern "C"
@@ -240,6 +245,9 @@ bool InitializeMediaLibrary(const FilePath& module_dir) {
av_free_ptr =
reinterpret_cast<void (*)(void*)>(
dlsym(libs[FILE_LIBAVUTIL], "av_free"));
+ av_rescale_q_ptr =
+ reinterpret_cast<int64_t (*)(int64_t, AVRational, AVRational)>(
+ dlsym(libs[FILE_LIBAVUTIL], "av_rescale_q"));
// Check that all the symbols were loaded correctly before returning true.
if (av_get_bits_per_sample_format_ptr &&
@@ -259,7 +267,8 @@ bool InitializeMediaLibrary(const FilePath& module_dir) {
av_register_protocol_ptr &&
av_malloc_ptr &&
- av_free_ptr) {
+ av_free_ptr &&
+ av_rescale_q_ptr) {
return true;
}