Added missing files, updated to build2
This commit is contained in:
parent
34e2f4991c
commit
12e554d703
1
.gitignore
vendored
1
.gitignore
vendored
@ -497,3 +497,4 @@ firefox-3.6.4.source.tar.bz2
|
||||
/firefox-langpacks-97.0.1-20220218.tar.xz
|
||||
/firefox-98.0.source.tar.xz
|
||||
/firefox-langpacks-98.0-20220301.tar.xz
|
||||
/firefox-langpacks-98.0-20220304.tar.xz
|
||||
|
13808
D139696.diff
Normal file
13808
D139696.diff
Normal file
File diff suppressed because it is too large
Load Diff
27
D139697.diff
Normal file
27
D139697.diff
Normal file
@ -0,0 +1,27 @@
|
||||
diff --git a/dom/media/platforms/ffmpeg/ffmpeg58/moz.build b/dom/media/platforms/ffmpeg/ffmpeg58/moz.build
|
||||
--- a/dom/media/platforms/ffmpeg/ffmpeg58/moz.build
|
||||
+++ b/dom/media/platforms/ffmpeg/ffmpeg58/moz.build
|
||||
@@ -29,9 +29,6 @@
|
||||
if CONFIG['MOZ_WAYLAND']:
|
||||
CXXFLAGS += CONFIG['MOZ_GTK3_CFLAGS']
|
||||
DEFINES['MOZ_WAYLAND_USE_VAAPI'] = 1
|
||||
- UNIFIED_SOURCES += [
|
||||
- '../FFmpegVideoFramePool.cpp',
|
||||
- ]
|
||||
USE_LIBS += ['mozva']
|
||||
|
||||
include("/ipc/chromium/chromium-config.mozbuild")
|
||||
diff --git a/dom/media/platforms/ffmpeg/ffvpx/moz.build b/dom/media/platforms/ffmpeg/ffvpx/moz.build
|
||||
--- a/dom/media/platforms/ffmpeg/ffvpx/moz.build
|
||||
+++ b/dom/media/platforms/ffmpeg/ffvpx/moz.build
|
||||
@@ -41,6 +41,9 @@
|
||||
CXXFLAGS += CONFIG["MOZ_GTK3_CFLAGS"]
|
||||
DEFINES["MOZ_WAYLAND_USE_VAAPI"] = 1
|
||||
USE_LIBS += ["mozva"]
|
||||
+ UNIFIED_SOURCES += [
|
||||
+ "../FFmpegVideoFramePool.cpp",
|
||||
+ ]
|
||||
|
||||
include("/ipc/chromium/chromium-config.mozbuild")
|
||||
|
||||
|
191
D139698.diff
Normal file
191
D139698.diff
Normal file
@ -0,0 +1,191 @@
|
||||
diff --git a/dom/media/platforms/ffmpeg/FFmpegLibWrapper.cpp b/dom/media/platforms/ffmpeg/FFmpegLibWrapper.cpp
|
||||
--- a/dom/media/platforms/ffmpeg/FFmpegLibWrapper.cpp
|
||||
+++ b/dom/media/platforms/ffmpeg/FFmpegLibWrapper.cpp
|
||||
@@ -64,14 +64,16 @@
|
||||
AV_FUNC_56 = 1 << 3,
|
||||
AV_FUNC_57 = 1 << 4,
|
||||
AV_FUNC_58 = 1 << 5,
|
||||
+ AV_FUNC_59 = 1 << 6,
|
||||
AV_FUNC_AVUTIL_53 = AV_FUNC_53 | AV_FUNC_AVUTIL_MASK,
|
||||
AV_FUNC_AVUTIL_54 = AV_FUNC_54 | AV_FUNC_AVUTIL_MASK,
|
||||
AV_FUNC_AVUTIL_55 = AV_FUNC_55 | AV_FUNC_AVUTIL_MASK,
|
||||
AV_FUNC_AVUTIL_56 = AV_FUNC_56 | AV_FUNC_AVUTIL_MASK,
|
||||
AV_FUNC_AVUTIL_57 = AV_FUNC_57 | AV_FUNC_AVUTIL_MASK,
|
||||
AV_FUNC_AVUTIL_58 = AV_FUNC_58 | AV_FUNC_AVUTIL_MASK,
|
||||
+ AV_FUNC_AVUTIL_59 = AV_FUNC_59 | AV_FUNC_AVUTIL_MASK,
|
||||
AV_FUNC_AVCODEC_ALL = AV_FUNC_53 | AV_FUNC_54 | AV_FUNC_55 | AV_FUNC_56 |
|
||||
- AV_FUNC_57 | AV_FUNC_58,
|
||||
+ AV_FUNC_57 | AV_FUNC_58 | AV_FUNC_59,
|
||||
AV_FUNC_AVUTIL_ALL = AV_FUNC_AVCODEC_ALL | AV_FUNC_AVUTIL_MASK
|
||||
};
|
||||
|
||||
@@ -94,6 +96,9 @@
|
||||
case 58:
|
||||
version = AV_FUNC_58;
|
||||
break;
|
||||
+ case 59:
|
||||
+ version = AV_FUNC_59;
|
||||
+ break;
|
||||
default:
|
||||
FFMPEG_LOG("Unknown avcodec version");
|
||||
Unlink();
|
||||
@@ -128,15 +133,19 @@
|
||||
: LinkResult::MissingLibAVFunction; \
|
||||
}
|
||||
|
||||
- AV_FUNC(av_lockmgr_register, AV_FUNC_AVCODEC_ALL)
|
||||
+ AV_FUNC(av_lockmgr_register, AV_FUNC_53 | AV_FUNC_54 | AV_FUNC_55 |
|
||||
+ AV_FUNC_56 | AV_FUNC_57 | AV_FUNC_58)
|
||||
AV_FUNC(avcodec_alloc_context3, AV_FUNC_AVCODEC_ALL)
|
||||
AV_FUNC(avcodec_close, AV_FUNC_AVCODEC_ALL)
|
||||
- AV_FUNC(avcodec_decode_audio4, AV_FUNC_AVCODEC_ALL)
|
||||
- AV_FUNC(avcodec_decode_video2, AV_FUNC_AVCODEC_ALL)
|
||||
+ AV_FUNC(avcodec_decode_audio4, AV_FUNC_53 | AV_FUNC_54 | AV_FUNC_55 |
|
||||
+ AV_FUNC_56 | AV_FUNC_57 | AV_FUNC_58)
|
||||
+ AV_FUNC(avcodec_decode_video2, AV_FUNC_53 | AV_FUNC_54 | AV_FUNC_55 |
|
||||
+ AV_FUNC_56 | AV_FUNC_57 | AV_FUNC_58)
|
||||
AV_FUNC(avcodec_find_decoder, AV_FUNC_AVCODEC_ALL)
|
||||
AV_FUNC(avcodec_flush_buffers, AV_FUNC_AVCODEC_ALL)
|
||||
AV_FUNC(avcodec_open2, AV_FUNC_AVCODEC_ALL)
|
||||
- AV_FUNC(avcodec_register_all, AV_FUNC_AVCODEC_ALL)
|
||||
+ AV_FUNC(avcodec_register_all, AV_FUNC_53 | AV_FUNC_54 | AV_FUNC_55 |
|
||||
+ AV_FUNC_56 | AV_FUNC_57 | AV_FUNC_58)
|
||||
AV_FUNC(av_init_packet, AV_FUNC_AVCODEC_ALL)
|
||||
AV_FUNC(av_parser_init, AV_FUNC_AVCODEC_ALL)
|
||||
AV_FUNC(av_parser_close, AV_FUNC_AVCODEC_ALL)
|
||||
@@ -145,49 +154,56 @@
|
||||
AV_FUNC(avcodec_alloc_frame, (AV_FUNC_53 | AV_FUNC_54))
|
||||
AV_FUNC(avcodec_get_frame_defaults, (AV_FUNC_53 | AV_FUNC_54))
|
||||
AV_FUNC(avcodec_free_frame, AV_FUNC_54)
|
||||
- AV_FUNC(avcodec_send_packet, AV_FUNC_58)
|
||||
- AV_FUNC(avcodec_receive_frame, AV_FUNC_58)
|
||||
+ AV_FUNC(avcodec_send_packet, AV_FUNC_58 | AV_FUNC_59)
|
||||
+ AV_FUNC(avcodec_receive_frame, AV_FUNC_58 | AV_FUNC_59)
|
||||
AV_FUNC(avcodec_default_get_buffer2,
|
||||
- (AV_FUNC_55 | AV_FUNC_56 | AV_FUNC_57 | AV_FUNC_58))
|
||||
+ (AV_FUNC_55 | AV_FUNC_56 | AV_FUNC_57 | AV_FUNC_58 | AV_FUNC_59))
|
||||
AV_FUNC_OPTION(av_rdft_init, AV_FUNC_AVCODEC_ALL)
|
||||
AV_FUNC_OPTION(av_rdft_calc, AV_FUNC_AVCODEC_ALL)
|
||||
AV_FUNC_OPTION(av_rdft_end, AV_FUNC_AVCODEC_ALL)
|
||||
AV_FUNC(av_log_set_level, AV_FUNC_AVUTIL_ALL)
|
||||
AV_FUNC(av_malloc, AV_FUNC_AVUTIL_ALL)
|
||||
AV_FUNC(av_freep, AV_FUNC_AVUTIL_ALL)
|
||||
- AV_FUNC(av_frame_alloc, (AV_FUNC_AVUTIL_55 | AV_FUNC_AVUTIL_56 |
|
||||
- AV_FUNC_AVUTIL_57 | AV_FUNC_AVUTIL_58))
|
||||
- AV_FUNC(av_frame_free, (AV_FUNC_AVUTIL_55 | AV_FUNC_AVUTIL_56 |
|
||||
- AV_FUNC_AVUTIL_57 | AV_FUNC_AVUTIL_58))
|
||||
- AV_FUNC(av_frame_unref, (AV_FUNC_AVUTIL_55 | AV_FUNC_AVUTIL_56 |
|
||||
- AV_FUNC_AVUTIL_57 | AV_FUNC_AVUTIL_58))
|
||||
+ AV_FUNC(av_frame_alloc,
|
||||
+ (AV_FUNC_AVUTIL_55 | AV_FUNC_AVUTIL_56 | AV_FUNC_AVUTIL_57 |
|
||||
+ AV_FUNC_AVUTIL_58 | AV_FUNC_AVUTIL_59))
|
||||
+ AV_FUNC(av_frame_free,
|
||||
+ (AV_FUNC_AVUTIL_55 | AV_FUNC_AVUTIL_56 | AV_FUNC_AVUTIL_57 |
|
||||
+ AV_FUNC_AVUTIL_58 | AV_FUNC_AVUTIL_59))
|
||||
+ AV_FUNC(av_frame_unref,
|
||||
+ (AV_FUNC_AVUTIL_55 | AV_FUNC_AVUTIL_56 | AV_FUNC_AVUTIL_57 |
|
||||
+ AV_FUNC_AVUTIL_58 | AV_FUNC_AVUTIL_59))
|
||||
AV_FUNC(av_image_check_size, AV_FUNC_AVUTIL_ALL)
|
||||
AV_FUNC(av_image_get_buffer_size, AV_FUNC_AVUTIL_ALL)
|
||||
- AV_FUNC_OPTION(av_buffer_get_opaque,
|
||||
- (AV_FUNC_AVUTIL_56 | AV_FUNC_AVUTIL_57 | AV_FUNC_AVUTIL_58))
|
||||
- AV_FUNC(av_buffer_create, (AV_FUNC_AVUTIL_55 | AV_FUNC_AVUTIL_56 |
|
||||
- AV_FUNC_AVUTIL_57 | AV_FUNC_AVUTIL_58))
|
||||
+ AV_FUNC_OPTION(av_buffer_get_opaque, (AV_FUNC_AVUTIL_56 | AV_FUNC_AVUTIL_57 |
|
||||
+ AV_FUNC_AVUTIL_58 | AV_FUNC_AVUTIL_59))
|
||||
+ AV_FUNC(av_buffer_create,
|
||||
+ (AV_FUNC_AVUTIL_55 | AV_FUNC_AVUTIL_56 | AV_FUNC_AVUTIL_57 |
|
||||
+ AV_FUNC_AVUTIL_58 | AV_FUNC_AVUTIL_59))
|
||||
AV_FUNC_OPTION(av_frame_get_colorspace, AV_FUNC_AVUTIL_ALL)
|
||||
AV_FUNC_OPTION(av_frame_get_color_range, AV_FUNC_AVUTIL_ALL)
|
||||
|
||||
#ifdef MOZ_WAYLAND
|
||||
- AV_FUNC_OPTION_SILENT(avcodec_get_hw_config, AV_FUNC_58)
|
||||
- AV_FUNC_OPTION_SILENT(av_codec_iterate, AV_FUNC_58)
|
||||
- AV_FUNC_OPTION_SILENT(av_codec_is_decoder, AV_FUNC_58)
|
||||
- AV_FUNC_OPTION_SILENT(av_hwdevice_ctx_init, AV_FUNC_58)
|
||||
- AV_FUNC_OPTION_SILENT(av_hwdevice_ctx_alloc, AV_FUNC_58)
|
||||
- AV_FUNC_OPTION_SILENT(av_hwdevice_hwconfig_alloc, AV_FUNC_58)
|
||||
- AV_FUNC_OPTION_SILENT(av_hwdevice_get_hwframe_constraints, AV_FUNC_58)
|
||||
- AV_FUNC_OPTION_SILENT(av_hwframe_constraints_free, AV_FUNC_58)
|
||||
- AV_FUNC_OPTION_SILENT(av_buffer_ref, AV_FUNC_AVUTIL_58)
|
||||
- AV_FUNC_OPTION_SILENT(av_buffer_unref, AV_FUNC_AVUTIL_58)
|
||||
- AV_FUNC_OPTION_SILENT(av_hwframe_transfer_get_formats, AV_FUNC_58)
|
||||
- AV_FUNC_OPTION_SILENT(av_hwdevice_ctx_create_derived, AV_FUNC_58)
|
||||
- AV_FUNC_OPTION_SILENT(av_hwframe_ctx_alloc, AV_FUNC_58)
|
||||
- AV_FUNC_OPTION_SILENT(av_dict_set, AV_FUNC_58)
|
||||
- AV_FUNC_OPTION_SILENT(av_dict_free, AV_FUNC_58)
|
||||
- AV_FUNC_OPTION_SILENT(avcodec_get_name, AV_FUNC_58)
|
||||
- AV_FUNC_OPTION_SILENT(av_get_pix_fmt_string, AV_FUNC_AVUTIL_58)
|
||||
+ AV_FUNC_OPTION_SILENT(avcodec_get_hw_config, AV_FUNC_58 | AV_FUNC_59)
|
||||
+ AV_FUNC_OPTION_SILENT(av_codec_iterate, AV_FUNC_58 | AV_FUNC_59)
|
||||
+ AV_FUNC_OPTION_SILENT(av_codec_is_decoder, AV_FUNC_58 | AV_FUNC_59)
|
||||
+ AV_FUNC_OPTION_SILENT(av_hwdevice_ctx_init, AV_FUNC_58 | AV_FUNC_59)
|
||||
+ AV_FUNC_OPTION_SILENT(av_hwdevice_ctx_alloc, AV_FUNC_58 | AV_FUNC_59)
|
||||
+ AV_FUNC_OPTION_SILENT(av_hwdevice_hwconfig_alloc, AV_FUNC_58 | AV_FUNC_59)
|
||||
+ AV_FUNC_OPTION_SILENT(av_hwdevice_get_hwframe_constraints,
|
||||
+ AV_FUNC_58 | AV_FUNC_59)
|
||||
+ AV_FUNC_OPTION_SILENT(av_hwframe_constraints_free, AV_FUNC_58 | AV_FUNC_59)
|
||||
+ AV_FUNC_OPTION_SILENT(av_buffer_ref, AV_FUNC_AVUTIL_58 | AV_FUNC_59)
|
||||
+ AV_FUNC_OPTION_SILENT(av_buffer_unref, AV_FUNC_AVUTIL_58 | AV_FUNC_59)
|
||||
+ AV_FUNC_OPTION_SILENT(av_hwframe_transfer_get_formats,
|
||||
+ AV_FUNC_58 | AV_FUNC_59)
|
||||
+ AV_FUNC_OPTION_SILENT(av_hwdevice_ctx_create_derived, AV_FUNC_58 | AV_FUNC_59)
|
||||
+ AV_FUNC_OPTION_SILENT(av_hwframe_ctx_alloc, AV_FUNC_58 | AV_FUNC_59)
|
||||
+ AV_FUNC_OPTION_SILENT(av_dict_set, AV_FUNC_58 | AV_FUNC_59)
|
||||
+ AV_FUNC_OPTION_SILENT(av_dict_free, AV_FUNC_58 | AV_FUNC_59)
|
||||
+ AV_FUNC_OPTION_SILENT(avcodec_get_name, AV_FUNC_58 | AV_FUNC_59)
|
||||
+ AV_FUNC_OPTION_SILENT(av_get_pix_fmt_string,
|
||||
+ AV_FUNC_AVUTIL_58 | AV_FUNC_AVUTIL_59)
|
||||
#endif
|
||||
#undef AV_FUNC
|
||||
#undef AV_FUNC_OPTION
|
||||
@@ -219,7 +235,9 @@
|
||||
# undef VAD_FUNC_OPTION_SILENT
|
||||
#endif
|
||||
|
||||
- avcodec_register_all();
|
||||
+ if (avcodec_register_all) {
|
||||
+ avcodec_register_all();
|
||||
+ }
|
||||
if (MOZ_LOG_TEST(sPDMLog, LogLevel::Debug)) {
|
||||
av_log_set_level(AV_LOG_DEBUG);
|
||||
} else if (MOZ_LOG_TEST(sPDMLog, LogLevel::Info)) {
|
||||
diff --git a/dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp b/dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp
|
||||
--- a/dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp
|
||||
+++ b/dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp
|
||||
@@ -27,6 +27,7 @@
|
||||
static const char* sLibs[] = {
|
||||
// clang-format off
|
||||
#if defined(XP_DARWIN)
|
||||
+ "libavcodec.59.dylib",
|
||||
"libavcodec.58.dylib",
|
||||
"libavcodec.57.dylib",
|
||||
"libavcodec.56.dylib",
|
||||
@@ -34,6 +35,7 @@
|
||||
"libavcodec.54.dylib",
|
||||
"libavcodec.53.dylib",
|
||||
#else
|
||||
+ "libavcodec.so.59",
|
||||
"libavcodec.so.58",
|
||||
"libavcodec-ffmpeg.so.58",
|
||||
"libavcodec-ffmpeg.so.57",
|
||||
@@ -76,7 +78,6 @@
|
||||
sLinkStatusLibraryName = lib;
|
||||
return true;
|
||||
case FFmpegLibWrapper::LinkResult::NoProvidedLib:
|
||||
- MOZ_ASSERT_UNREACHABLE("Incorrectly-setup sLibAV");
|
||||
break;
|
||||
case FFmpegLibWrapper::LinkResult::NoAVCodecVersion:
|
||||
if (sLinkStatus > LinkStatus_INVALID_CANDIDATE) {
|
||||
@@ -152,6 +153,9 @@
|
||||
case 58:
|
||||
module = FFmpegDecoderModule<58>::Create(&sLibAV);
|
||||
break;
|
||||
+ case 59:
|
||||
+ module = FFmpegDecoderModule<59>::Create(&sLibAV);
|
||||
+ break;
|
||||
default:
|
||||
module = nullptr;
|
||||
}
|
||||
|
127
D139699.diff
Normal file
127
D139699.diff
Normal file
@ -0,0 +1,127 @@
|
||||
diff --git a/dom/media/platforms/ffmpeg/FFmpegAudioDecoder.cpp b/dom/media/platforms/ffmpeg/FFmpegAudioDecoder.cpp
|
||||
--- a/dom/media/platforms/ffmpeg/FFmpegAudioDecoder.cpp
|
||||
+++ b/dom/media/platforms/ffmpeg/FFmpegAudioDecoder.cpp
|
||||
@@ -206,15 +206,49 @@
|
||||
media::TimeUnit pts = aSample->mTime;
|
||||
|
||||
while (packet.size > 0) {
|
||||
- int decoded;
|
||||
- int bytesConsumed =
|
||||
+ int decoded = false;
|
||||
+ int bytesConsumed = -1;
|
||||
+#if LIBAVCODEC_VERSION_MAJOR < 59
|
||||
+ bytesConsumed =
|
||||
mLib->avcodec_decode_audio4(mCodecContext, mFrame, &decoded, &packet);
|
||||
-
|
||||
if (bytesConsumed < 0) {
|
||||
NS_WARNING("FFmpeg audio decoder error.");
|
||||
return MediaResult(NS_ERROR_DOM_MEDIA_DECODE_ERR,
|
||||
RESULT_DETAIL("FFmpeg audio error:%d", bytesConsumed));
|
||||
}
|
||||
+#else
|
||||
+# define AVERROR_OK 0
|
||||
+
|
||||
+ int ret = mLib->avcodec_receive_frame(mCodecContext, mFrame);
|
||||
+ switch (ret) {
|
||||
+ case AVERROR_OK:
|
||||
+ decoded = true;
|
||||
+ break;
|
||||
+ case AVERROR(EAGAIN):
|
||||
+ break;
|
||||
+ case int(AVERROR_EOF): {
|
||||
+ FFMPEG_LOG(" End of stream.");
|
||||
+ return MediaResult(NS_ERROR_DOM_MEDIA_END_OF_STREAM,
|
||||
+ RESULT_DETAIL("End of stream"));
|
||||
+ }
|
||||
+ }
|
||||
+ ret = mLib->avcodec_send_packet(mCodecContext, &packet);
|
||||
+ switch (ret) {
|
||||
+ case AVERROR_OK:
|
||||
+ bytesConsumed = packet.size;
|
||||
+ break;
|
||||
+ case AVERROR(EAGAIN):
|
||||
+ break;
|
||||
+ case int(AVERROR_EOF):
|
||||
+ FFMPEG_LOG(" End of stream.");
|
||||
+ return MediaResult(NS_ERROR_DOM_MEDIA_END_OF_STREAM,
|
||||
+ RESULT_DETAIL("End of stream"));
|
||||
+ default:
|
||||
+ NS_WARNING("FFmpeg audio decoder error.");
|
||||
+ return MediaResult(NS_ERROR_DOM_MEDIA_DECODE_ERR,
|
||||
+ RESULT_DETAIL("FFmpeg audio error"));
|
||||
+ }
|
||||
+#endif
|
||||
|
||||
if (decoded) {
|
||||
if (mFrame->format != AV_SAMPLE_FMT_FLT &&
|
||||
diff --git a/dom/media/platforms/ffmpeg/FFmpegVideoDecoder.cpp b/dom/media/platforms/ffmpeg/FFmpegVideoDecoder.cpp
|
||||
--- a/dom/media/platforms/ffmpeg/FFmpegVideoDecoder.cpp
|
||||
+++ b/dom/media/platforms/ffmpeg/FFmpegVideoDecoder.cpp
|
||||
@@ -39,6 +39,9 @@
|
||||
# define AV_PIX_FMT_YUV444P10LE PIX_FMT_YUV444P10LE
|
||||
# define AV_PIX_FMT_NONE PIX_FMT_NONE
|
||||
#endif
|
||||
+#if LIBAVCODEC_VERSION_MAJOR > 58
|
||||
+# define AV_PIX_FMT_VAAPI_VLD AV_PIX_FMT_VAAPI
|
||||
+#endif
|
||||
#include "mozilla/PodOperations.h"
|
||||
#include "mozilla/StaticPrefs_media.h"
|
||||
#include "mozilla/TaskQueue.h"
|
||||
@@ -766,6 +769,14 @@
|
||||
}
|
||||
#endif
|
||||
|
||||
+static int64_t GetFramePts(AVFrame* aFrame) {
|
||||
+#if LIBAVCODEC_VERSION_MAJOR > 58
|
||||
+ return aFrame->pts;
|
||||
+#else
|
||||
+ return aFrame->pkt_pts;
|
||||
+#endif
|
||||
+}
|
||||
+
|
||||
MediaResult FFmpegVideoDecoder<LIBAV_VER>::DoDecode(
|
||||
MediaRawData* aSample, uint8_t* aData, int aSize, bool* aGotFrame,
|
||||
MediaDataDecoder::DecodedData& aResults) {
|
||||
@@ -831,7 +842,7 @@
|
||||
MediaResult rv;
|
||||
# ifdef MOZ_WAYLAND_USE_VAAPI
|
||||
if (IsHardwareAccelerated()) {
|
||||
- rv = CreateImageVAAPI(mFrame->pkt_pos, mFrame->pkt_pts,
|
||||
+ rv = CreateImageVAAPI(mFrame->pkt_pos, GetFramePts(mFrame),
|
||||
mFrame->pkt_duration, aResults);
|
||||
// If VA-API playback failed, just quit. Decoder is going to be restarted
|
||||
// without VA-API.
|
||||
@@ -844,8 +855,8 @@
|
||||
} else
|
||||
# endif
|
||||
{
|
||||
- rv = CreateImage(mFrame->pkt_pos, mFrame->pkt_pts, mFrame->pkt_duration,
|
||||
- aResults);
|
||||
+ rv = CreateImage(mFrame->pkt_pos, GetFramePts(mFrame),
|
||||
+ mFrame->pkt_duration, aResults);
|
||||
}
|
||||
if (NS_FAILED(rv)) {
|
||||
return rv;
|
||||
@@ -879,9 +890,9 @@
|
||||
"DoDecodeFrame:decode_video: rv=%d decoded=%d "
|
||||
"(Input: pts(%" PRId64 ") dts(%" PRId64 ") Output: pts(%" PRId64
|
||||
") "
|
||||
- "opaque(%" PRId64 ") pkt_pts(%" PRId64 ") pkt_dts(%" PRId64 "))",
|
||||
+ "opaque(%" PRId64 ") pts(%" PRId64 ") pkt_dts(%" PRId64 "))",
|
||||
bytesConsumed, decoded, packet.pts, packet.dts, mFrame->pts,
|
||||
- mFrame->reordered_opaque, mFrame->pkt_pts, mFrame->pkt_dts);
|
||||
+ mFrame->reordered_opaque, mFrame->pts, mFrame->pkt_dts);
|
||||
|
||||
if (bytesConsumed < 0) {
|
||||
return MediaResult(NS_ERROR_DOM_MEDIA_DECODE_ERR,
|
||||
@@ -896,7 +907,8 @@
|
||||
}
|
||||
|
||||
// If we've decoded a frame then we need to output it
|
||||
- int64_t pts = mPtsContext.GuessCorrectPts(mFrame->pkt_pts, mFrame->pkt_dts);
|
||||
+ int64_t pts =
|
||||
+ mPtsContext.GuessCorrectPts(GetFramePts(mFrame), mFrame->pkt_dts);
|
||||
// Retrieve duration from dts.
|
||||
// We use the first entry found matching this dts (this is done to
|
||||
// handle damaged file with multiple frames with the same dts)
|
||||
|
@ -1074,6 +1074,7 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
|
||||
* Wed Mar 2 2022 Martin Stransky <stransky@redhat.com> - 98.0-2
|
||||
- Added support for ffmpeg 5.0
|
||||
- Spec tweaks
|
||||
- Updated to Build 2
|
||||
|
||||
* Tue Mar 1 2022 Martin Stransky <stransky@redhat.com> - 98.0-1
|
||||
- Updated to 98.0
|
||||
|
4
sources
4
sources
@ -1,4 +1,4 @@
|
||||
SHA512 (cbindgen-vendor.tar.xz) = b9ab1498be90ecf60822df7021f8812f124550d97f8cd687c69d3ab56fc5fb714bfe88c78c978a1794d211724909a9a5cad6a4b483fa05f762909c45d5075520
|
||||
SHA512 (mochitest-python.tar.gz) = 18e1aeb475df5fbf1fe3838897d5ac2f3114aa349030713fc2be27af087b1b12f57642621b87bd052f324a7cb7fbae5f36b21502191d85692f62c8cdd69c8bf2
|
||||
SHA512 (firefox-98.0.source.tar.xz) = e4728316d919cad2c7b9bfc08cd6fa651c0706e14dba1629382ef1e8d723ebf22c6a892f23928ee05d98b9eadfa1c3e3fd803077c64919786c176c5e8d87863a
|
||||
SHA512 (firefox-langpacks-98.0-20220301.tar.xz) = 54cc19003903da31bdc485eaf208e35759a390c71bb96a10757cbe10fbc65a1524a8d33c071589ee3f949508df66ced7115c0e4203e17bd672672fe303b4a5ee
|
||||
SHA512 (firefox-98.0.source.tar.xz) = 119005c92b579897c4a9c5b2b9f88ab1e77ad41d05fc8058d3378865f8538870789e5a9bd1066bcbe1662bde1501d9fe8c97c277e2985506f6d5586b6cea4ff2
|
||||
SHA512 (firefox-langpacks-98.0-20220304.tar.xz) = d736ebdf11848b812073e342906aae86368cf2aa248ad34af98c11bb47cec6820ed805d9ffac81d195dba9e93a348ece50cc54740b4750b7ff32392cdcac028a
|
||||
|
Loading…
Reference in New Issue
Block a user