-
-
Notifications
You must be signed in to change notification settings - Fork 15k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
gst_all_1.gst-plugins-bad: add patch for macOS < 12 SDK
This now references `kVTVideoDecoderReferenceMissingErr`, which was added in the macOS 12 SDK. Unfortunately, our 12.3 SDK doesn’t work to build this package currently. This should hopefully be fixed after the SDK rework. (cherry picked from commit 69b18ff)
- Loading branch information
Showing
2 changed files
with
54 additions
and
0 deletions.
There are no files selected for viewing
49 changes: 49 additions & 0 deletions
49
pkgs/development/libraries/gstreamer/bad/darwin-old-sdk-fix.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
From 816f2ccad16413a4961a0001fc02d8874d4fde47 Mon Sep 17 00:00:00 2001 | ||
From: Alessandro Bono <[email protected]> | ||
Date: Wed, 10 Jul 2024 15:33:34 +0200 | ||
Subject: [PATCH] vtdec: Use kVTVideoDecoderReferenceMissingErr only when | ||
defined | ||
|
||
The enum value is declared present since macOS 10.8+[1]. Howerver, | ||
the compilation now fails with the 10.15 SDK: | ||
``` | ||
../sys/applemedia/vtdec.c:1219:12: error: use of undeclared identifier 'kVTVideoDecoderReferenceMissingErr'; did you mean 'kVTVideoDecoderMalfunctionErr'? | ||
case kVTVideoDecoderReferenceMissingErr: | ||
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
kVTVideoDecoderMalfunctionErr | ||
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTErrors.h:40:2: note: 'kVTVideoDecoderMalfunctionErr' declared here | ||
kVTVideoDecoderMalfunctionErr = -12911, // c.f. -8960 | ||
^ | ||
1 error generated. | ||
``` | ||
|
||
Put the enum usage under #ifdef. When missing, the behavior will be | ||
the same as before commit a5c437c6430cdce603e46e09400beb4c5b9f5374. | ||
|
||
[1] https://developer.apple.com/documentation/videotoolbox/kvtvideodecoderreferencemissingerr?language=objc | ||
--- | ||
sys/applemedia/vtdec.c | 2 ++ | ||
1 file changed, 2 insertions(+) | ||
|
||
diff --git a/sys/applemedia/vtdec.c b/sys/applemedia/vtdec.c | ||
index 57fcbf9928a5..517c15365b52 100644 | ||
--- a/sys/applemedia/vtdec.c | ||
+++ b/sys/applemedia/vtdec.c | ||
@@ -1216,12 +1216,14 @@ gst_vtdec_session_output_callback (void *decompression_output_ref_con, | ||
|
||
if (status != noErr) { | ||
switch (status) { | ||
+#ifdef kVTVideoDecoderReferenceMissingErr | ||
case kVTVideoDecoderReferenceMissingErr: | ||
/* ReferenceMissingErr is not critical, when it occurs the frame | ||
* usually has the kVTDecodeInfo_FrameDropped flag set. Log only for debugging purposes. */ | ||
GST_DEBUG_OBJECT (vtdec, "ReferenceMissingErr when decoding frame %d", | ||
frame->decode_frame_number); | ||
break; | ||
+#endif | ||
#ifndef HAVE_IOS | ||
case codecBadDataErr: /* SW decoder on macOS uses a different code from the hardware one... */ | ||
#endif | ||
-- | ||
GitLab | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters