fix(player): keep hardware decoding after a transient VideoToolbox failure
Some HEVC files carry a frame Apple's hardware decoder refuses to decode (kVTVideoDecoderBadDataErr on an otherwise conformant P-frame). mpv fell back to software decoding for the rest of the file after the first error, and 4K HEVC software decode drops frames every few minutes on Apple TV. MPVKit b8b922ec carries an mpv vd_lavc patch that keeps the configured fast fallback while probing but lets a hardware decoder that has already delivered frames ride out a mid-stream error burst: the burst one undecodable frame causes ends at the next keyframe by construction, so fallback now requires errors to survive two keyframe intervals. Verified against the reporter's sample: playback logs "Hardware decoding recovered after 90 errored frames" and stays on VideoToolbox instead of switching to software. close #2167
This commit is contained in:
@@ -802,7 +802,7 @@
|
||||
repositoryURL = "https://github.com/edde746/MPVKit";
|
||||
requirement = {
|
||||
kind = revision;
|
||||
revision = 0097fea015fe9b59bcfed866e61acb5896454bd4;
|
||||
revision = b8b922ec74b84ac3a496e29e226a3a3e91491045;
|
||||
};
|
||||
};
|
||||
/* End XCRemoteSwiftPackageReference section */
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
"kind" : "remoteSourceControl",
|
||||
"location" : "https://github.com/edde746/MPVKit",
|
||||
"state" : {
|
||||
"revision" : "0097fea015fe9b59bcfed866e61acb5896454bd4"
|
||||
"revision" : "b8b922ec74b84ac3a496e29e226a3a3e91491045"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
"kind" : "remoteSourceControl",
|
||||
"location" : "https://github.com/edde746/MPVKit",
|
||||
"state" : {
|
||||
"revision" : "0097fea015fe9b59bcfed866e61acb5896454bd4"
|
||||
"revision" : "b8b922ec74b84ac3a496e29e226a3a3e91491045"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
||||
@@ -895,7 +895,7 @@
|
||||
repositoryURL = "https://github.com/edde746/MPVKit";
|
||||
requirement = {
|
||||
kind = revision;
|
||||
revision = 0097fea015fe9b59bcfed866e61acb5896454bd4;
|
||||
revision = b8b922ec74b84ac3a496e29e226a3a3e91491045;
|
||||
};
|
||||
};
|
||||
/* End XCRemoteSwiftPackageReference section */
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
"kind" : "remoteSourceControl",
|
||||
"location" : "https://github.com/edde746/MPVKit",
|
||||
"state" : {
|
||||
"revision" : "0097fea015fe9b59bcfed866e61acb5896454bd4"
|
||||
"revision" : "b8b922ec74b84ac3a496e29e226a3a3e91491045"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
"kind" : "remoteSourceControl",
|
||||
"location" : "https://github.com/edde746/MPVKit",
|
||||
"state" : {
|
||||
"revision" : "0097fea015fe9b59bcfed866e61acb5896454bd4"
|
||||
"revision" : "b8b922ec74b84ac3a496e29e226a3a3e91491045"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
||||
@@ -1165,7 +1165,7 @@
|
||||
repositoryURL = "https://github.com/edde746/MPVKit";
|
||||
requirement = {
|
||||
kind = revision;
|
||||
revision = 0097fea015fe9b59bcfed866e61acb5896454bd4;
|
||||
revision = b8b922ec74b84ac3a496e29e226a3a3e91491045;
|
||||
};
|
||||
};
|
||||
/* End XCRemoteSwiftPackageReference section */
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
"kind" : "remoteSourceControl",
|
||||
"location" : "https://github.com/edde746/MPVKit",
|
||||
"state" : {
|
||||
"revision" : "0097fea015fe9b59bcfed866e61acb5896454bd4"
|
||||
"revision" : "b8b922ec74b84ac3a496e29e226a3a3e91491045"
|
||||
}
|
||||
}
|
||||
],
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
"kind" : "remoteSourceControl",
|
||||
"location" : "https://github.com/edde746/MPVKit",
|
||||
"state" : {
|
||||
"revision" : "0097fea015fe9b59bcfed866e61acb5896454bd4"
|
||||
"revision" : "b8b922ec74b84ac3a496e29e226a3a3e91491045"
|
||||
}
|
||||
}
|
||||
],
|
||||
|
||||
Reference in New Issue
Block a user