Streaming

RSS for tag

Deep dive into the technical specifications that influence seamless playback for streaming services, including bitrates, codecs, and caching mechanisms.

Streaming Documentation

Posts under Streaming subtopic

Post

Replies

Boosts

Views

Activity

ScreenCaptureKit on iPadOS 27 is capped at 60 fps on 120Hz ProMotion devices, even with minimumFrameInterval set to 1/120
On an iPad Pro 11-inch (M4) running iPadOS 27.0 (24A437), ScreenCaptureKit delivers a maximum of 60 frames per second when capturing the entire screen, even while an app is rendering at 120 fps (confirmed with the Metal Performance HUD). What I tested: Default configuration: exactly 60 fps, with every frame timestamp spaced 16.67ms apart. Setting minimumFrameInterval to 1/120 and queueDepth to 8, both before starting the stream and through updateConfiguration after it started: the values are accepted and read back correctly, but delivery stays at exactly 60 fps. Smaller output sizes (1/4 and 1/8 of native resolution): still 60 fps. ReplayKit broadcast upload extension: also exactly 60 fps. Also, minimumFrameInterval and queueDepth are documented as available on iOS/iPadOS 27, but the iOS 27 SDK marks them as unavailable. Request: please allow ScreenCaptureKit to capture at the display's full refresh rate (up to 120 fps) on ProMotion devices when minimumFrameInterval asks for it, and make minimumFrameInterval available in the iOS SDK.
0
0
231
1d
New download progress "banner" on iOS27
We are using AVAssetDownloadURLSession to download videos. On iOS27, when building with the iOS27 SDK, there is a new progress banner showing the file name and download progress. The user can also cancel the download from there. I have not seen this mentioned anywhere and I am wondering if there are any APIs related to this new feature? Reason: For example, we show a user notification when a download has finished but if there already was a banner displaying the status that notification is unnecessary.
2
0
319
2d
Apple Music data not syncing via MusicKit / Apple Music API
Hi, experiencing an issue with Apple Music syncing in our app. Apple Music data hasn’t been syncing for a while. We’ve investigated the issue on our side and haven’t found anything that could explain it, so we’d like to check whether there are any known issues or recent changes affecting Apple Music API data. Could someone from the Apple Music/MusicKit team help us investigate this? We can provide affected user examples, timestamps, API responses, and any other information needed.
0
0
27
3d
Best supported transport for low-latency live video between two iPhones, including wired options
We are building an iOS video-editing companion workflow. An iPhone 17 Pro (USB-C) is the editor/master; an iPhone 14 Pro Max (Lightning) displays its continuous frame-by-frame live preview. The companion must follow playback, pause, seeks, and edits. It does not use a local copy of the media. Our prototype captures composed AVPlayer output with AVPlayerItemVideoOutput, encodes H.264 in real time with VideoToolbox, sends samples through an MCSession stream, and renders them with AVSampleBufferDisplayLayer. We want the best public, App Store-compatible transport for high quality, low latency, adaptive resolution, and reliable recovery. Can an ordinary iOS app send arbitrary stream or IP data directly between these two iPhones over a USB-C-to-Lightning cable? If not, is wired Ethernet via supported adapters and a common network the supported wired option? What are the discovery/routing constraints? For wireless peer-to-peer video on current iOS, should we prefer Network framework with Wi-Fi Aware where available, peer-to-peer Wi-Fi, or another transport over MultipeerConnectivity? Can Network framework prefer a wired Ethernet interface and switch paths without losing the editing session? For a live editing preview, which transport and codec patterns keep latency bounded while preserving frame order and recovering promptly after loss or a seek? Are QUIC streams/datagrams appropriate? What receiver feedback should drive bitrate or resolution changes and keyframe requests? Are there public examples or documentation specifically for live video between two iPhones with this USB-C/Lightning pairing? We cannot share the full Xcode project publicly, but can create a minimal reproducible example if needed. We would appreciate guidance based on public APIs and supported hardware paths.
0
0
45
4d
AVPlayerItemSampleBufferOutput
I am using AVPlayer, but I am unable to retrieve PCM data from .m3u8 streams via the AVPlayerItemSampleBufferOutput API in iOS 27 beta. I have tried both the Objective-C and Swift APIs: the Objective-C delegate methods are not being called, and the Swift methods nextAvailableSampleBuffer() and nextSampleBuffer() are returning no data.
2
1
656
5d
Is there a way to directly go from VideoToolbox to Metal for 10-bit/BT.2020 YCbCr HEVC?
tl;dr how can I get raw YUV in a Metal fragment shader from a VideoToolbox 10-bit/BT.2020 HEVC stream without any extra/secret format conversions? With VideoToolbox and 10-bit HEVC, I've found that it defaults to CVPixelBuffers w/ formats kCVPixelFormatType_Lossless_420YpCbCr10PackedBiPlanarFullRange or kCVPixelFormatType_Lossy_420YpCbCr10PackedBiPlanarFullRange. To mitigate this, I have the following snippet of code to my application: // We need our pixels unpacked for 10-bit so that the Metal textures actually work var pixelFormat:OSType? = nil let bpc = getBpcForVideoFormat(videoFormat!) let isFullRange = getIsFullRangeForVideoFormat(videoFormat!) // TODO: figure out how to check for 422/444, CVImageBufferChromaLocationBottomField? if bpc == 10 { pixelFormat = isFullRange ? kCVPixelFormatType_420YpCbCr10BiPlanarFullRange : kCVPixelFormatType_420YpCbCr10BiPlanarVideoRange } let videoDecoderSpecification:[NSString: AnyObject] = [kVTVideoDecoderSpecification_EnableHardwareAcceleratedVideoDecoder:kCFBooleanTrue] var destinationImageBufferAttributes:[NSString: AnyObject] = [kCVPixelBufferMetalCompatibilityKey: true as NSNumber, kCVPixelBufferPoolMinimumBufferCountKey: 3 as NSNumber] if pixelFormat != nil { destinationImageBufferAttributes[kCVPixelBufferPixelFormatTypeKey] = pixelFormat! as NSNumber } var decompressionSession:VTDecompressionSession? = nil err = VTDecompressionSessionCreate(allocator: nil, formatDescription: videoFormat!, decoderSpecification: videoDecoderSpecification as CFDictionary, imageBufferAttributes: destinationImageBufferAttributes as CFDictionary, outputCallback: nil, decompressionSessionOut: &decompressionSession) In short, I need kCVPixelFormatType_420YpCbCr10BiPlanar so that I have a straightforward MTLPixelFormat.r16Unorm/MTLPixelFormat.rg16Unorm texture binding for Y/CbCr. Metal, seemingly, has no direct pixel format for 420YpCbCr10PackedBiPlanar. I'd also rather not use any color conversion in VideoToolbox, in order to save on processing (and to ensure that the color transforms/transfer characteristics match between streamer/client, since I also have a custom transfer characteristic to mitigate blocking in dark scenes). However, I noticed that in visionOS 2, the CVPixelBuffer I receive is no longer a compressed render target (likely a bug), which caused GPU texture read bandwidth to skyrocket from 2GiB/s to 30GiB/s. More importantly, this implies that VideoToolbox may in fact be doing an extra color conversion step, wasting memory bandwidth. Does Metal actually have no way to handle 420YpCbCr10PackedBiPlanar? Are there any examples for reading 10-bit HDR HEVC buffers directly with Metal?
3
0
1.9k
5d
### HEVC/H.265 playback works on iPhone 13 and iPhone 15 but fails on iPhone X and iPhone 17 Pro Max
Hi Apple Developer Community, I’m investigating an HEVC/H.265 playback issue in an iOS application and would appreciate some guidance regarding device-level HEVC compatibility and AVFoundation/VideoToolbox behavior. Our application plays video content encoded in both H.264 and H.265 (HEVC). Current observations The same H.265 video content produces the following results: Device H.264 H.265 iPhone X Works Does not play iPhone 13 Works Works iPhone 15 Works Works iPhone 17 Pro Max Works Does not play H.264 playback works consistently across all tested devices. The interesting part is that H.265 works on the iPhone 13 and iPhone 15, but does not work on either the older iPhone X or the newer iPhone 17 Pro Max. This makes me unsure whether the issue is related to the device's HEVC hardware decoder, a specific HEVC profile/level/pixel format, codec/container signaling, or the playback framework. Questions Are there known differences in HEVC/H.265 decoding capabilities or supported profiles between these iPhone generations that could explain this behavior? Can a newer device such as the iPhone 17 Pro Max have compatibility limitations with a particular HEVC stream that successfully plays on an iPhone 13 or iPhone 15? Are there specific HEVC parameters that I should compare when troubleshooting this, such as: HEVC profile (Main / Main 10) Level and tier 8-bit vs 10-bit Pixel format Chroma subsampling (4:2:0 / 4:2:2) Resolution and frame rate Bitrate HDR10 / HLG / SDR Color primaries / transfer characteristics hvc1 vs hev1 MP4/fMP4 vs MPEG-TS container Audio codec Is there an Apple-recommended API or method to determine at runtime whether a particular HEVC stream is supported by the current device before attempting playback? If using AVPlayer/AVPlayerItem, what is the recommended way to diagnose whether a failure is caused by: Unsupported HEVC characteristics VideoToolbox decoding Container/codec signaling Audio decoding AVFoundation Network/streaming configuration? Are there any differences in HEVC support between local MP4 playback and HLS/fMP4 playback that I should take into account? Additional investigation I am planning to inspect the exact video characteristics using ffprobe/MediaInfo and compare a working stream against a failing stream. For example, I intend to compare: Codec Codec tag (hvc1 / hev1) Profile Level Tier Bit depth Pixel format Resolution Frame rate Bitrate Chroma subsampling Color space HDR metadata Container Audio codec I will also test the same video outside the application to determine whether this is specific to our playback implementation or to the HEVC stream/device combination. Main question The main thing I would like to understand is: How can the same H.265 content be successfully decoded on an iPhone 13 and iPhone 15, while failing on both an older iPhone X and a much newer iPhone 17 Pro Max? Is there an Apple-documented compatibility matrix or recommended diagnostic approach for identifying which HEVC characteristic is responsible for this behavior? Any guidance on the relevant Apple documentation, AVFoundation APIs, VideoToolbox APIs, or known device-specific HEVC limitations would be greatly appreciated. Thank you.
0
0
95
1w
Request path for com.apple.coremedia.allow-mpeg4streaming on tvOS
We maintain an existing iOS/tvOS App Store application that uses AVFoundation for authenticated streaming playback. One upstream provider supplies some account-entitled playback sessions as fragmented MP4 using ISO Common Encryption scheme cenc (AES-CTR). The provider controls the rendition, and no corresponding cbcs rendition is available to our client. We understand that Apple’s documented FairPlay Streaming path supports cbcs. We identified com.apple.coremedia.allow-mpeg4streaming as relevant to this playback case, but the entitlement is undocumented and does not appear under Capability Requests for our App ID. Apple Developer Support was unable to identify the request process and recommended posting this question in the forums and filing Feedback Assistant report FB24649355. Could an Apple engineer clarify: Is this entitlement available to third-party iOS/tvOS applications? If so, what is the official request process? We can provide additional technical information privately if an Apple engineer needs it.
1
0
1.1k
3w
FairPlay Streaming Certificate Limit Reached – Unable to Revoke or Generate New Certificate
We are seeking assistance regarding an ongoing issue with FairPlay Streaming (FPS) certificates in our Apple Developer account. We are currently unable to generate a new FairPlay Streaming certificate because the Apple Developer portal displays: “Maximum number of certificates generated” The FairPlay Streaming Certificate option is disabled, and there is no option available to generate a new certificate. We have also checked our existing FairPlay Streaming certificates. When opening an existing certificate, the certificate details page only provides a Download option. There is no option to Revoke, Delete, or Remove the existing FairPlay Streaming certificate. We have attached screenshots showing: The FairPlay Streaming Certificate section displaying “Maximum number of certificates generated.” An existing FairPlay Streaming Certificate showing only the Download option, with no option to revoke or delete it. The FairPlay Streaming Test Certificate option showing that we are not allowed to perform the operation and should contact Apple Developer Program Support. Account information: Entity Name: DIGIZION PRIVATE LIMITED Team ID: HK7FAN55HP Certificate Type: FairPlay Streaming Certificate Name: DIGIZION PRIVATE LIMITED Certificate Expiration: Never The reason we need a new FairPlay Streaming certificate is that our server infrastructure experienced a crash. As a result, we permanently lost the private keys and certificate-related credentials associated with our previous FairPlay Streaming setup. Unfortunately, we did not have a backup of these private keys. Because the private keys were lost, we are unable to use the existing certificate credentials with our new server infrastructure. We therefore need to generate a new FairPlay Streaming certificate and configure our production DRM infrastructure again. However, we are currently blocked because the certificate generation limit has been reached, while the Apple Developer portal does not provide us with any option to revoke, delete, or remove an existing FairPlay Streaming certificate. We have already submitted approximately 10 support requests/messages to Apple regarding this same issue, but we have not received a response providing a solution or instructions for resolving the certificate limit issue. Could someone from Apple Developer Support or the FairPlay Streaming team please review this issue and advise us on how we can resolve it? We would greatly appreciate assistance with one of the following: Revoke/remove an existing FairPlay Streaming certificate so that we can generate a new certificate; or Reset or increase the FairPlay Streaming certificate generation limit for our Team ID; or Provide the correct procedure or an Apple-side solution that will allow us to generate a new FairPlay Streaming certificate. We understand that FairPlay Streaming certificates may have certificate-generation limitations. However, in our situation, the previous server crash resulted in the permanent loss of our private keys, and we have no backup from which we can recover them. This issue is currently blocking our production DRM/FairPlay Streaming integration and preventing us from completing our production infrastructure setup. We would therefore greatly appreciate it if Apple Developer Support could review Team ID HK7FAN55HP and help us either revoke an existing certificate or reset/increase the certificate generation limit so that we can generate a new FairPlay Streaming certificate. Thank you for your time and assistance.
1
0
175
3w
HLS Tools - hlsreport critical error cause
Hi, I'm currently experiencing issues with HLS streams created by FFmpeg running on Safari. When I pass the stream to the mediastreamvalidator tool and then run hlsreport on the output, I get a critical error reported: Media Entry discontinuity value does not match previous playlist for MEDIA-SEQUENCE 1 If I let the stream finish (it's a live stream from an IoT device) and then perform the stream validation again I no longer receive the critical error. My assumption is that this critical error is contributing to the HLS stall on iOS. I have also noticed that if I let the stream continue and then re-load the video control in Safari the stream starts Is there a resource with explanations or remediation paths relevant to the possible output of the hlsreport? My m3u8 output looks like this (I have redacted the server host) #EXTM3U #EXT-X-VERSION:6 #EXT-X-TARGETDURATION:2 #EXT-X-MEDIA-SEQUENCE:1 #EXT-X-PLAYLIST-TYPE:EVENT #EXT-X-INDEPENDENT-SEGMENTS #EXT-X-DISCONTINUITY #EXTINF:2.000000, https://redacted.com/segment-00001.ts #EXTINF:2.000011, https://redacted.com/segment-00002.ts #EXTINF:2.000011, https://redacted.com/segment-00003.ts #EXTINF:2.000011, https://redacted.com/segment-00004.ts #EXTINF:2.000011, #EXT-X-ENDLIST Thanks for any advice or guidance possible - if I can provide isolated code snippets I will do. Andy
2
0
1.7k
Aug ’26
Unable to Generate New FairPlay Streaming Certificate – Maximum Certificate Limit Reached with No Revocation Option
Keywords: FairPlay, FairPlay Streaming, FPS Certificate, DRM, Certificate Limit, License Server Hello Apple Developer Forums Team, We are seeking guidance regarding a FairPlay Streaming (FPS) certificate issue that is currently blocking our production DRM infrastructure. We previously generated FairPlay Streaming deployment credentials and have been using FairPlay Streaming for our protected video content. Unfortunately, our old server infrastructure crashed, and the private keys/credentials associated with the previously generated FairPlay Streaming certificate were permanently lost. As a result, we need to generate replacement FairPlay Streaming deployment credentials. However, when attempting to create a new FairPlay Streaming certificate, our Apple Developer account now displays the following error: “Maximum number of certificates generated.” The main issue is that the existing FairPlay Streaming certificates do not provide any option in the Apple Developer portal to revoke or delete them. Therefore, we are unable to remove obsolete or inaccessible certificate records and cannot generate replacement credentials. Our current situation is: We have reached the maximum number of FairPlay Streaming certificates allowed for our Developer Team. The Apple Developer portal does not provide a revoke or delete option for the existing FPS certificates. The private keys associated with our old FairPlay Streaming credentials were permanently lost after our previous server infrastructure crashed. We cannot recover or reuse those old credentials. We are unable to generate replacement FairPlay Streaming deployment credentials because the certificate generation limit has been reached. This is currently blocking our ability to restore and maintain our FairPlay-protected production streaming service. We have already contacted Apple Developer Support and submitted multiple follow-ups regarding this issue, but we have not yet received a solution that allows us to generate replacement credentials. We would like to understand the official Apple-supported process for the following situation: What is the supported procedure when a Developer Team reaches the maximum number of FairPlay Streaming certificates? If existing FPS certificates cannot be revoked or deleted through the Developer portal, is there an Apple-supported process to remove obsolete or inaccessible FPS certificate records? Can Apple reset or restore the FairPlay Streaming certificate generation capacity for a Developer Team when the old credentials and private keys are permanently unavailable? Is there another supported method for generating replacement FairPlay Streaming deployment credentials in this situation? We are not requesting general instructions on how to generate a FairPlay Streaming certificate. We understand the standard certificate generation process. Our issue is specifically related to an exhausted FPS certificate generation limit combined with the absence of a self-service revoke/delete option for the existing certificates. We would greatly appreciate guidance from Apple or the FairPlay Streaming team on how to resolve this issue and restore our ability to generate replacement FPS deployment credentials. Thank you for your assistance.
2
0
155
Aug ’26
How should live latency be measured and maintained with AVPlayer (HLS / LL-HLS)?
We keep live playback at a consistent distance from the live edge using small playback rate adjustments, with a target range based on recommendedTimeOffsetFromLive. Since the live edge is not exposed by AVPlayer, we currently fall back to seekableTimeRanges.end as our best approximation. What should be treated as the live edge, and how should the current live latency be measured? Is rate adjustment the appropriate way to hold a target latency? While playing above 1.0x, the playhead can reach the seekable end, at which point AVPlayerItemDidPlayToEndTime fires and halts the live stream. How can we guard against ? Does any of this differ between regular HLS and LL-HLS? A clear statement of the intended contract here would resolve a lot of uncertainty. Thanks in advance.
3
0
794
Aug ’26
Facing issues with response from Fairplay SDK based service
Currently we are building a service based on Fairplay SDK version 26.0. Currently our solution is using version 4.5.4. When we run the below request to get version we get proper response curl http://xx.xx.xx.xx:8080/fps/v Response - V26.0 Our client applications call below two APIs https://GW_HOST:8080/fairplay_cert https://GW_HOST:8080/fairplay_license Within the cert API call, we are returning the fairplay public certificate. Currently we are trying to use the test certificate provided along with Fairplay SDK (test_fps_certificate_v26.bin) Then within the fairplay_license API call, we are trying to reach fairplay service based on Fairplay SDK v26 We are seeing some issues with below request(attaching the request json payload) curl -v -X POST -H "Content-Type: application/json" -d @SDKValidation_NewCert.json http://xx.xx.xx.xx:8080/fps SDKValidation_NewCert.json We are getting below response from SDK {"fairplay-streaming-response":{"create-ckc":[{"id":1,"status":-42605}]}} When we checked the apache error logs in the file "/etc/httpd/logs/error_log" we see below error [DEBUG] ❌ Assertion failure: invalidCertificateErr (-42605) [src/extension.swift:249] This is looks to be some error related to certificate. As mentioned earlier, client application is making a certificate call where we are returning the certificate set up . These certificates are already configured in the credentials path. Also note that the test samples provided with the SDK return valid license response. We had earlier raised a similar ticket mentioned below and we were asked not to use test certs. So we have raise CSR and used new certs for testing. https://developer.apple.com/forums/thread/836652?page=1
4
0
1.2k
Aug ’26
Apple Music / MusicKit Commercial Integration Enquiry – Multiplayer Music Game
Hello, Could this please be forwarded to the team responsible for Apple Music / MusicKit commercial integrations, developer partnerships and licensing? I am currently assessing the feasibility of developing a commercial browser-based multiplayer music game and would like to understand whether Apple Music and MusicKit could support the proposed use case. At a high level, players would privately select tracks from the Apple Music catalogue within the game. Once selections are complete, the application would arrange the selected tracks for sequential playback through a shared host account/device. Players would then interact with those tracks through the game. The application would provide the game functionality and would not download, store or independently redistribute full music recordings. Before progressing with development, I would appreciate clarification on the following: Commercial game use: Is integration of the Apple Music catalogue and MusicKit playback functionality into a commercial multiplayer game permitted? If specific approval, licensing or a commercial agreement with Apple is required, what is the appropriate process? Monetisation: Can the game itself be monetised through subscriptions, one-off purchases/party passes or advertising, provided users are paying for the game functionality rather than access to Apple Music or its catalogue? Apple Music subscription requirements: Would the account providing full-track playback need an active Apple Music subscription? If so, would only the host/playback account require a subscription, while other participants could join the game, search/select tracks and vote without having an Apple Music subscription themselves? Commercial playback alternative: If an Apple Music subscription is required for full-track playback, does Apple offer any commercial, licensing or partnership arrangement whereby the game operator could fund the necessary playback rights directly, rather than requiring the host to hold an individual Apple Music subscription? Catalogue access: Can players search the Apple Music catalogue and select tracks from within the application without every participant individually authenticating with Apple Music or holding an Apple Music subscription? Track availability: Can MusicKit/API functionality confirm whether a selected track is available for playback in the host's storefront/territory before accepting the selection? Playback control: Can the application create and manage a temporary playback queue containing the selected tracks and initiate sequential playback through an authorised host account/device without requiring the host to manually locate and play each track in the Apple Music application? Audio previews: Are short audio previews available through Apple Music/MusicKit, and may these be used within a commercial multiplayer game to help users identify a track before selecting it? If so, are there restrictions on preview duration or monetised use? Multi-provider support: Would Apple's terms permit Apple Music to be offered as one of several supported music playback providers within the same application, allowing a host to choose Apple Music or another supported streaming service? Additional licensing: If full recordings continue to be delivered and played through Apple Music/MusicKit, would the game developer require any additional master recording, publishing, public-performance or other music licences directly from rights-holders or collecting societies? Web/browser implementation: As the initial product is intended to be browser-based rather than a native iOS application, can the above catalogue, authentication and playback functionality be implemented through MusicKit on the Web? Are there any material differences in commercial permissions or capabilities compared with a native MusicKit implementation? Scaling: Are there different MusicKit/API access, approval, rate-limit or commercial requirements if the application progresses from development/testing to a publicly available commercial product with a significant user base? At this stage I am primarily trying to establish whether a compliant technical and commercial model exists before investing in development. If this enquiry would be better directed to an Apple Music partnership, MusicKit, licensing or business-development team, I would appreciate being pointed towards the appropriate contact. I would be happy to provide further technical details about the proposed integration if required. Kind regards, Errol Brinkman
0
0
396
Aug ’26
AVCustomRoutingController and background audio
Hi, I have implemented a custom audio streaming protocol in my iOS app using AVCustomRoutingController to select my custom device. Playback and streaming works. However when the app is the background, it gets killed in a couple of seconds, like if it was not playing audio. My app has the Audio/AirPlay/PIP background mode and can play audio from the background when the route is a normal AVRoute from the system (Speaker/AirPlay/Bluetooth, etc). I tried starting an AVAudioSession (playback category, activated, with and without MPRemoteCommandCenter bindings and with and without populating NowPlayingInfoCenter) was hoping that if that is active, my app won't be killed. But it seems like it does get killed if the app is not producing audio using AudioOutputUnit/AVAudioEngine/AVPlayer. How does one supposed to stream audio from an app in the background using a custom protocol? The infamous "let's play silence to not get killed" solution works, but obviously that can't be the answer.
0
0
287
Aug ’26
Do FairPlay Streaming credentials remain valid if the issuing team's membership expires?
Our app was transferred to a different Apple Developer Program team. Our FairPlay Streaming deployment package (Application Certificate and ASk) was issued under the original team, whose membership has since expired. FairPlay playback continues to work normally. We understand from these threads that FPS does not enforce the Application Certificate's own expiration date: https://developer.apple.com/forums/thread/74831 https://developer.apple.com/forums/thread/763861 Our question is a different one — about the team's membership status rather than the certificate's validity period: Does the validity of an FPS deployment package depend in any way on the membership status of the team it was issued under, or are the credentials independent of that once issued? This is not a bug report. We would like to confirm the expected behaviour rather than rely on our own assumptions.
1
0
740
Aug ’26
FairPlay Streaming Credentials Approval — no response after 5 days
Hi, I submitted a FairPlay Streaming credentials approval request 5 days ago (through the "Request FairPlay Streaming credentials approval" form) and haven't received any response yet. Could someone from the Security Engineering team please check the status? Team ID: US7RGQX775 We're an online education platform and use a third-party DRM/video hosting provider (VdoCipher) that already operates a working, tested FairPlay Streaming KSM on our behalf — we just need the certificate to hand over to them. Thanks in advance!
0
0
404
Aug ’26
[FairPlay] Attack AVContentKey to CMSampleBuffer results in "NSLocalizedFailureReason=This app is not authorized to play this file"
I implemented an AVContentKeySessionDelegate that after calling processContentKeyRequest succeeds in producing a contentKey in the callback func contentKeySession(_: AVContentKeySession, didProvide _contentKey: AVContentKey) of the AVContentKeyRecipient that manages the decoding of CMSampleBuffers. However, when I store the AVContentKey from the contentKeySession callback and try to attach it to the CMSampleBuffer with AVSampleBufferAttachContentKey, I get the error: Error Domain=AVFoundationErrorDomain Code=-11836 "Cannot Open" UserInfo={NSLocalizedFailureReason=This app is not authorized to play this file., NSLocalizedDescription=Cannot Open, NSUnderlyingError=0x28303a220 {Error Domain=NSOSStatusErrorDomain Code=-12161 "(null)"}} Does anyone have some insight on why this is happening and how to solve it?
2
0
1.9k
Aug ’26
ScreenCaptureKit on iPadOS 27 is capped at 60 fps on 120Hz ProMotion devices, even with minimumFrameInterval set to 1/120
On an iPad Pro 11-inch (M4) running iPadOS 27.0 (24A437), ScreenCaptureKit delivers a maximum of 60 frames per second when capturing the entire screen, even while an app is rendering at 120 fps (confirmed with the Metal Performance HUD). What I tested: Default configuration: exactly 60 fps, with every frame timestamp spaced 16.67ms apart. Setting minimumFrameInterval to 1/120 and queueDepth to 8, both before starting the stream and through updateConfiguration after it started: the values are accepted and read back correctly, but delivery stays at exactly 60 fps. Smaller output sizes (1/4 and 1/8 of native resolution): still 60 fps. ReplayKit broadcast upload extension: also exactly 60 fps. Also, minimumFrameInterval and queueDepth are documented as available on iOS/iPadOS 27, but the iOS 27 SDK marks them as unavailable. Request: please allow ScreenCaptureKit to capture at the display's full refresh rate (up to 120 fps) on ProMotion devices when minimumFrameInterval asks for it, and make minimumFrameInterval available in the iOS SDK.
Replies
0
Boosts
0
Views
231
Activity
1d
New download progress "banner" on iOS27
We are using AVAssetDownloadURLSession to download videos. On iOS27, when building with the iOS27 SDK, there is a new progress banner showing the file name and download progress. The user can also cancel the download from there. I have not seen this mentioned anywhere and I am wondering if there are any APIs related to this new feature? Reason: For example, we show a user notification when a download has finished but if there already was a banner displaying the status that notification is unnecessary.
Replies
2
Boosts
0
Views
319
Activity
2d
Apple Music data not syncing via MusicKit / Apple Music API
Hi, experiencing an issue with Apple Music syncing in our app. Apple Music data hasn’t been syncing for a while. We’ve investigated the issue on our side and haven’t found anything that could explain it, so we’d like to check whether there are any known issues or recent changes affecting Apple Music API data. Could someone from the Apple Music/MusicKit team help us investigate this? We can provide affected user examples, timestamps, API responses, and any other information needed.
Replies
0
Boosts
0
Views
27
Activity
3d
Best supported transport for low-latency live video between two iPhones, including wired options
We are building an iOS video-editing companion workflow. An iPhone 17 Pro (USB-C) is the editor/master; an iPhone 14 Pro Max (Lightning) displays its continuous frame-by-frame live preview. The companion must follow playback, pause, seeks, and edits. It does not use a local copy of the media. Our prototype captures composed AVPlayer output with AVPlayerItemVideoOutput, encodes H.264 in real time with VideoToolbox, sends samples through an MCSession stream, and renders them with AVSampleBufferDisplayLayer. We want the best public, App Store-compatible transport for high quality, low latency, adaptive resolution, and reliable recovery. Can an ordinary iOS app send arbitrary stream or IP data directly between these two iPhones over a USB-C-to-Lightning cable? If not, is wired Ethernet via supported adapters and a common network the supported wired option? What are the discovery/routing constraints? For wireless peer-to-peer video on current iOS, should we prefer Network framework with Wi-Fi Aware where available, peer-to-peer Wi-Fi, or another transport over MultipeerConnectivity? Can Network framework prefer a wired Ethernet interface and switch paths without losing the editing session? For a live editing preview, which transport and codec patterns keep latency bounded while preserving frame order and recovering promptly after loss or a seek? Are QUIC streams/datagrams appropriate? What receiver feedback should drive bitrate or resolution changes and keyframe requests? Are there public examples or documentation specifically for live video between two iPhones with this USB-C/Lightning pairing? We cannot share the full Xcode project publicly, but can create a minimal reproducible example if needed. We would appreciate guidance based on public APIs and supported hardware paths.
Replies
0
Boosts
0
Views
45
Activity
4d
AVPlayerItemSampleBufferOutput
I am using AVPlayer, but I am unable to retrieve PCM data from .m3u8 streams via the AVPlayerItemSampleBufferOutput API in iOS 27 beta. I have tried both the Objective-C and Swift APIs: the Objective-C delegate methods are not being called, and the Swift methods nextAvailableSampleBuffer() and nextSampleBuffer() are returning no data.
Replies
2
Boosts
1
Views
656
Activity
5d
Is there a way to directly go from VideoToolbox to Metal for 10-bit/BT.2020 YCbCr HEVC?
tl;dr how can I get raw YUV in a Metal fragment shader from a VideoToolbox 10-bit/BT.2020 HEVC stream without any extra/secret format conversions? With VideoToolbox and 10-bit HEVC, I've found that it defaults to CVPixelBuffers w/ formats kCVPixelFormatType_Lossless_420YpCbCr10PackedBiPlanarFullRange or kCVPixelFormatType_Lossy_420YpCbCr10PackedBiPlanarFullRange. To mitigate this, I have the following snippet of code to my application: // We need our pixels unpacked for 10-bit so that the Metal textures actually work var pixelFormat:OSType? = nil let bpc = getBpcForVideoFormat(videoFormat!) let isFullRange = getIsFullRangeForVideoFormat(videoFormat!) // TODO: figure out how to check for 422/444, CVImageBufferChromaLocationBottomField? if bpc == 10 { pixelFormat = isFullRange ? kCVPixelFormatType_420YpCbCr10BiPlanarFullRange : kCVPixelFormatType_420YpCbCr10BiPlanarVideoRange } let videoDecoderSpecification:[NSString: AnyObject] = [kVTVideoDecoderSpecification_EnableHardwareAcceleratedVideoDecoder:kCFBooleanTrue] var destinationImageBufferAttributes:[NSString: AnyObject] = [kCVPixelBufferMetalCompatibilityKey: true as NSNumber, kCVPixelBufferPoolMinimumBufferCountKey: 3 as NSNumber] if pixelFormat != nil { destinationImageBufferAttributes[kCVPixelBufferPixelFormatTypeKey] = pixelFormat! as NSNumber } var decompressionSession:VTDecompressionSession? = nil err = VTDecompressionSessionCreate(allocator: nil, formatDescription: videoFormat!, decoderSpecification: videoDecoderSpecification as CFDictionary, imageBufferAttributes: destinationImageBufferAttributes as CFDictionary, outputCallback: nil, decompressionSessionOut: &decompressionSession) In short, I need kCVPixelFormatType_420YpCbCr10BiPlanar so that I have a straightforward MTLPixelFormat.r16Unorm/MTLPixelFormat.rg16Unorm texture binding for Y/CbCr. Metal, seemingly, has no direct pixel format for 420YpCbCr10PackedBiPlanar. I'd also rather not use any color conversion in VideoToolbox, in order to save on processing (and to ensure that the color transforms/transfer characteristics match between streamer/client, since I also have a custom transfer characteristic to mitigate blocking in dark scenes). However, I noticed that in visionOS 2, the CVPixelBuffer I receive is no longer a compressed render target (likely a bug), which caused GPU texture read bandwidth to skyrocket from 2GiB/s to 30GiB/s. More importantly, this implies that VideoToolbox may in fact be doing an extra color conversion step, wasting memory bandwidth. Does Metal actually have no way to handle 420YpCbCr10PackedBiPlanar? Are there any examples for reading 10-bit HDR HEVC buffers directly with Metal?
Replies
3
Boosts
0
Views
1.9k
Activity
5d
AirPlay screen mirroring connection failure on treadmill since iOS update.Since updating to the latest beta version on my iPhone, I cannot connect to the treadmill via AirPlay screen mirroring. It fails to search for the device or stucks on a loadin
Since updating to the latest beta version on my iPhone, I cannot connect to the treadmill via AirPlay screen mirroring. It fails to search for the device or stucks on a loading screen.
Replies
1
Boosts
0
Views
66
Activity
1w
### HEVC/H.265 playback works on iPhone 13 and iPhone 15 but fails on iPhone X and iPhone 17 Pro Max
Hi Apple Developer Community, I’m investigating an HEVC/H.265 playback issue in an iOS application and would appreciate some guidance regarding device-level HEVC compatibility and AVFoundation/VideoToolbox behavior. Our application plays video content encoded in both H.264 and H.265 (HEVC). Current observations The same H.265 video content produces the following results: Device H.264 H.265 iPhone X Works Does not play iPhone 13 Works Works iPhone 15 Works Works iPhone 17 Pro Max Works Does not play H.264 playback works consistently across all tested devices. The interesting part is that H.265 works on the iPhone 13 and iPhone 15, but does not work on either the older iPhone X or the newer iPhone 17 Pro Max. This makes me unsure whether the issue is related to the device's HEVC hardware decoder, a specific HEVC profile/level/pixel format, codec/container signaling, or the playback framework. Questions Are there known differences in HEVC/H.265 decoding capabilities or supported profiles between these iPhone generations that could explain this behavior? Can a newer device such as the iPhone 17 Pro Max have compatibility limitations with a particular HEVC stream that successfully plays on an iPhone 13 or iPhone 15? Are there specific HEVC parameters that I should compare when troubleshooting this, such as: HEVC profile (Main / Main 10) Level and tier 8-bit vs 10-bit Pixel format Chroma subsampling (4:2:0 / 4:2:2) Resolution and frame rate Bitrate HDR10 / HLG / SDR Color primaries / transfer characteristics hvc1 vs hev1 MP4/fMP4 vs MPEG-TS container Audio codec Is there an Apple-recommended API or method to determine at runtime whether a particular HEVC stream is supported by the current device before attempting playback? If using AVPlayer/AVPlayerItem, what is the recommended way to diagnose whether a failure is caused by: Unsupported HEVC characteristics VideoToolbox decoding Container/codec signaling Audio decoding AVFoundation Network/streaming configuration? Are there any differences in HEVC support between local MP4 playback and HLS/fMP4 playback that I should take into account? Additional investigation I am planning to inspect the exact video characteristics using ffprobe/MediaInfo and compare a working stream against a failing stream. For example, I intend to compare: Codec Codec tag (hvc1 / hev1) Profile Level Tier Bit depth Pixel format Resolution Frame rate Bitrate Chroma subsampling Color space HDR metadata Container Audio codec I will also test the same video outside the application to determine whether this is specific to our playback implementation or to the HEVC stream/device combination. Main question The main thing I would like to understand is: How can the same H.265 content be successfully decoded on an iPhone 13 and iPhone 15, while failing on both an older iPhone X and a much newer iPhone 17 Pro Max? Is there an Apple-documented compatibility matrix or recommended diagnostic approach for identifying which HEVC characteristic is responsible for this behavior? Any guidance on the relevant Apple documentation, AVFoundation APIs, VideoToolbox APIs, or known device-specific HEVC limitations would be greatly appreciated. Thank you.
Replies
0
Boosts
0
Views
95
Activity
1w
AppleTV ContinuityCamera Scan QR Code issue
I found two issues with scan code to connect continuity cameras in tvOS QR code scanning connection timeout Scan the QR code to connect successfully, but the Camera has no data and the Capture Session does not report an exception. And these are not 100% reproduce.
Replies
0
Boosts
0
Views
491
Activity
2w
Request path for com.apple.coremedia.allow-mpeg4streaming on tvOS
We maintain an existing iOS/tvOS App Store application that uses AVFoundation for authenticated streaming playback. One upstream provider supplies some account-entitled playback sessions as fragmented MP4 using ISO Common Encryption scheme cenc (AES-CTR). The provider controls the rendition, and no corresponding cbcs rendition is available to our client. We understand that Apple’s documented FairPlay Streaming path supports cbcs. We identified com.apple.coremedia.allow-mpeg4streaming as relevant to this playback case, but the entitlement is undocumented and does not appear under Capability Requests for our App ID. Apple Developer Support was unable to identify the request process and recommended posting this question in the forums and filing Feedback Assistant report FB24649355. Could an Apple engineer clarify: Is this entitlement available to third-party iOS/tvOS applications? If so, what is the official request process? We can provide additional technical information privately if an Apple engineer needs it.
Replies
1
Boosts
0
Views
1.1k
Activity
3w
FairPlay Streaming Certificate Limit Reached – Unable to Revoke or Generate New Certificate
We are seeking assistance regarding an ongoing issue with FairPlay Streaming (FPS) certificates in our Apple Developer account. We are currently unable to generate a new FairPlay Streaming certificate because the Apple Developer portal displays: “Maximum number of certificates generated” The FairPlay Streaming Certificate option is disabled, and there is no option available to generate a new certificate. We have also checked our existing FairPlay Streaming certificates. When opening an existing certificate, the certificate details page only provides a Download option. There is no option to Revoke, Delete, or Remove the existing FairPlay Streaming certificate. We have attached screenshots showing: The FairPlay Streaming Certificate section displaying “Maximum number of certificates generated.” An existing FairPlay Streaming Certificate showing only the Download option, with no option to revoke or delete it. The FairPlay Streaming Test Certificate option showing that we are not allowed to perform the operation and should contact Apple Developer Program Support. Account information: Entity Name: DIGIZION PRIVATE LIMITED Team ID: HK7FAN55HP Certificate Type: FairPlay Streaming Certificate Name: DIGIZION PRIVATE LIMITED Certificate Expiration: Never The reason we need a new FairPlay Streaming certificate is that our server infrastructure experienced a crash. As a result, we permanently lost the private keys and certificate-related credentials associated with our previous FairPlay Streaming setup. Unfortunately, we did not have a backup of these private keys. Because the private keys were lost, we are unable to use the existing certificate credentials with our new server infrastructure. We therefore need to generate a new FairPlay Streaming certificate and configure our production DRM infrastructure again. However, we are currently blocked because the certificate generation limit has been reached, while the Apple Developer portal does not provide us with any option to revoke, delete, or remove an existing FairPlay Streaming certificate. We have already submitted approximately 10 support requests/messages to Apple regarding this same issue, but we have not received a response providing a solution or instructions for resolving the certificate limit issue. Could someone from Apple Developer Support or the FairPlay Streaming team please review this issue and advise us on how we can resolve it? We would greatly appreciate assistance with one of the following: Revoke/remove an existing FairPlay Streaming certificate so that we can generate a new certificate; or Reset or increase the FairPlay Streaming certificate generation limit for our Team ID; or Provide the correct procedure or an Apple-side solution that will allow us to generate a new FairPlay Streaming certificate. We understand that FairPlay Streaming certificates may have certificate-generation limitations. However, in our situation, the previous server crash resulted in the permanent loss of our private keys, and we have no backup from which we can recover them. This issue is currently blocking our production DRM/FairPlay Streaming integration and preventing us from completing our production infrastructure setup. We would therefore greatly appreciate it if Apple Developer Support could review Team ID HK7FAN55HP and help us either revoke an existing certificate or reset/increase the certificate generation limit so that we can generate a new FairPlay Streaming certificate. Thank you for your time and assistance.
Replies
1
Boosts
0
Views
175
Activity
3w
HLS Tools - hlsreport critical error cause
Hi, I'm currently experiencing issues with HLS streams created by FFmpeg running on Safari. When I pass the stream to the mediastreamvalidator tool and then run hlsreport on the output, I get a critical error reported: Media Entry discontinuity value does not match previous playlist for MEDIA-SEQUENCE 1 If I let the stream finish (it's a live stream from an IoT device) and then perform the stream validation again I no longer receive the critical error. My assumption is that this critical error is contributing to the HLS stall on iOS. I have also noticed that if I let the stream continue and then re-load the video control in Safari the stream starts Is there a resource with explanations or remediation paths relevant to the possible output of the hlsreport? My m3u8 output looks like this (I have redacted the server host) #EXTM3U #EXT-X-VERSION:6 #EXT-X-TARGETDURATION:2 #EXT-X-MEDIA-SEQUENCE:1 #EXT-X-PLAYLIST-TYPE:EVENT #EXT-X-INDEPENDENT-SEGMENTS #EXT-X-DISCONTINUITY #EXTINF:2.000000, https://redacted.com/segment-00001.ts #EXTINF:2.000011, https://redacted.com/segment-00002.ts #EXTINF:2.000011, https://redacted.com/segment-00003.ts #EXTINF:2.000011, https://redacted.com/segment-00004.ts #EXTINF:2.000011, #EXT-X-ENDLIST Thanks for any advice or guidance possible - if I can provide isolated code snippets I will do. Andy
Replies
2
Boosts
0
Views
1.7k
Activity
Aug ’26
Unable to Generate New FairPlay Streaming Certificate – Maximum Certificate Limit Reached with No Revocation Option
Keywords: FairPlay, FairPlay Streaming, FPS Certificate, DRM, Certificate Limit, License Server Hello Apple Developer Forums Team, We are seeking guidance regarding a FairPlay Streaming (FPS) certificate issue that is currently blocking our production DRM infrastructure. We previously generated FairPlay Streaming deployment credentials and have been using FairPlay Streaming for our protected video content. Unfortunately, our old server infrastructure crashed, and the private keys/credentials associated with the previously generated FairPlay Streaming certificate were permanently lost. As a result, we need to generate replacement FairPlay Streaming deployment credentials. However, when attempting to create a new FairPlay Streaming certificate, our Apple Developer account now displays the following error: “Maximum number of certificates generated.” The main issue is that the existing FairPlay Streaming certificates do not provide any option in the Apple Developer portal to revoke or delete them. Therefore, we are unable to remove obsolete or inaccessible certificate records and cannot generate replacement credentials. Our current situation is: We have reached the maximum number of FairPlay Streaming certificates allowed for our Developer Team. The Apple Developer portal does not provide a revoke or delete option for the existing FPS certificates. The private keys associated with our old FairPlay Streaming credentials were permanently lost after our previous server infrastructure crashed. We cannot recover or reuse those old credentials. We are unable to generate replacement FairPlay Streaming deployment credentials because the certificate generation limit has been reached. This is currently blocking our ability to restore and maintain our FairPlay-protected production streaming service. We have already contacted Apple Developer Support and submitted multiple follow-ups regarding this issue, but we have not yet received a solution that allows us to generate replacement credentials. We would like to understand the official Apple-supported process for the following situation: What is the supported procedure when a Developer Team reaches the maximum number of FairPlay Streaming certificates? If existing FPS certificates cannot be revoked or deleted through the Developer portal, is there an Apple-supported process to remove obsolete or inaccessible FPS certificate records? Can Apple reset or restore the FairPlay Streaming certificate generation capacity for a Developer Team when the old credentials and private keys are permanently unavailable? Is there another supported method for generating replacement FairPlay Streaming deployment credentials in this situation? We are not requesting general instructions on how to generate a FairPlay Streaming certificate. We understand the standard certificate generation process. Our issue is specifically related to an exhausted FPS certificate generation limit combined with the absence of a self-service revoke/delete option for the existing certificates. We would greatly appreciate guidance from Apple or the FairPlay Streaming team on how to resolve this issue and restore our ability to generate replacement FPS deployment credentials. Thank you for your assistance.
Replies
2
Boosts
0
Views
155
Activity
Aug ’26
How should live latency be measured and maintained with AVPlayer (HLS / LL-HLS)?
We keep live playback at a consistent distance from the live edge using small playback rate adjustments, with a target range based on recommendedTimeOffsetFromLive. Since the live edge is not exposed by AVPlayer, we currently fall back to seekableTimeRanges.end as our best approximation. What should be treated as the live edge, and how should the current live latency be measured? Is rate adjustment the appropriate way to hold a target latency? While playing above 1.0x, the playhead can reach the seekable end, at which point AVPlayerItemDidPlayToEndTime fires and halts the live stream. How can we guard against ? Does any of this differ between regular HLS and LL-HLS? A clear statement of the intended contract here would resolve a lot of uncertainty. Thanks in advance.
Replies
3
Boosts
0
Views
794
Activity
Aug ’26
Facing issues with response from Fairplay SDK based service
Currently we are building a service based on Fairplay SDK version 26.0. Currently our solution is using version 4.5.4. When we run the below request to get version we get proper response curl http://xx.xx.xx.xx:8080/fps/v Response - V26.0 Our client applications call below two APIs https://GW_HOST:8080/fairplay_cert https://GW_HOST:8080/fairplay_license Within the cert API call, we are returning the fairplay public certificate. Currently we are trying to use the test certificate provided along with Fairplay SDK (test_fps_certificate_v26.bin) Then within the fairplay_license API call, we are trying to reach fairplay service based on Fairplay SDK v26 We are seeing some issues with below request(attaching the request json payload) curl -v -X POST -H "Content-Type: application/json" -d @SDKValidation_NewCert.json http://xx.xx.xx.xx:8080/fps SDKValidation_NewCert.json We are getting below response from SDK {"fairplay-streaming-response":{"create-ckc":[{"id":1,"status":-42605}]}} When we checked the apache error logs in the file "/etc/httpd/logs/error_log" we see below error [DEBUG] ❌ Assertion failure: invalidCertificateErr (-42605) [src/extension.swift:249] This is looks to be some error related to certificate. As mentioned earlier, client application is making a certificate call where we are returning the certificate set up . These certificates are already configured in the credentials path. Also note that the test samples provided with the SDK return valid license response. We had earlier raised a similar ticket mentioned below and we were asked not to use test certs. So we have raise CSR and used new certs for testing. https://developer.apple.com/forums/thread/836652?page=1
Replies
4
Boosts
0
Views
1.2k
Activity
Aug ’26
Apple Music / MusicKit Commercial Integration Enquiry – Multiplayer Music Game
Hello, Could this please be forwarded to the team responsible for Apple Music / MusicKit commercial integrations, developer partnerships and licensing? I am currently assessing the feasibility of developing a commercial browser-based multiplayer music game and would like to understand whether Apple Music and MusicKit could support the proposed use case. At a high level, players would privately select tracks from the Apple Music catalogue within the game. Once selections are complete, the application would arrange the selected tracks for sequential playback through a shared host account/device. Players would then interact with those tracks through the game. The application would provide the game functionality and would not download, store or independently redistribute full music recordings. Before progressing with development, I would appreciate clarification on the following: Commercial game use: Is integration of the Apple Music catalogue and MusicKit playback functionality into a commercial multiplayer game permitted? If specific approval, licensing or a commercial agreement with Apple is required, what is the appropriate process? Monetisation: Can the game itself be monetised through subscriptions, one-off purchases/party passes or advertising, provided users are paying for the game functionality rather than access to Apple Music or its catalogue? Apple Music subscription requirements: Would the account providing full-track playback need an active Apple Music subscription? If so, would only the host/playback account require a subscription, while other participants could join the game, search/select tracks and vote without having an Apple Music subscription themselves? Commercial playback alternative: If an Apple Music subscription is required for full-track playback, does Apple offer any commercial, licensing or partnership arrangement whereby the game operator could fund the necessary playback rights directly, rather than requiring the host to hold an individual Apple Music subscription? Catalogue access: Can players search the Apple Music catalogue and select tracks from within the application without every participant individually authenticating with Apple Music or holding an Apple Music subscription? Track availability: Can MusicKit/API functionality confirm whether a selected track is available for playback in the host's storefront/territory before accepting the selection? Playback control: Can the application create and manage a temporary playback queue containing the selected tracks and initiate sequential playback through an authorised host account/device without requiring the host to manually locate and play each track in the Apple Music application? Audio previews: Are short audio previews available through Apple Music/MusicKit, and may these be used within a commercial multiplayer game to help users identify a track before selecting it? If so, are there restrictions on preview duration or monetised use? Multi-provider support: Would Apple's terms permit Apple Music to be offered as one of several supported music playback providers within the same application, allowing a host to choose Apple Music or another supported streaming service? Additional licensing: If full recordings continue to be delivered and played through Apple Music/MusicKit, would the game developer require any additional master recording, publishing, public-performance or other music licences directly from rights-holders or collecting societies? Web/browser implementation: As the initial product is intended to be browser-based rather than a native iOS application, can the above catalogue, authentication and playback functionality be implemented through MusicKit on the Web? Are there any material differences in commercial permissions or capabilities compared with a native MusicKit implementation? Scaling: Are there different MusicKit/API access, approval, rate-limit or commercial requirements if the application progresses from development/testing to a publicly available commercial product with a significant user base? At this stage I am primarily trying to establish whether a compliant technical and commercial model exists before investing in development. If this enquiry would be better directed to an Apple Music partnership, MusicKit, licensing or business-development team, I would appreciate being pointed towards the appropriate contact. I would be happy to provide further technical details about the proposed integration if required. Kind regards, Errol Brinkman
Replies
0
Boosts
0
Views
396
Activity
Aug ’26
AVCustomRoutingController and background audio
Hi, I have implemented a custom audio streaming protocol in my iOS app using AVCustomRoutingController to select my custom device. Playback and streaming works. However when the app is the background, it gets killed in a couple of seconds, like if it was not playing audio. My app has the Audio/AirPlay/PIP background mode and can play audio from the background when the route is a normal AVRoute from the system (Speaker/AirPlay/Bluetooth, etc). I tried starting an AVAudioSession (playback category, activated, with and without MPRemoteCommandCenter bindings and with and without populating NowPlayingInfoCenter) was hoping that if that is active, my app won't be killed. But it seems like it does get killed if the app is not producing audio using AudioOutputUnit/AVAudioEngine/AVPlayer. How does one supposed to stream audio from an app in the background using a custom protocol? The infamous "let's play silence to not get killed" solution works, but obviously that can't be the answer.
Replies
0
Boosts
0
Views
287
Activity
Aug ’26
Do FairPlay Streaming credentials remain valid if the issuing team's membership expires?
Our app was transferred to a different Apple Developer Program team. Our FairPlay Streaming deployment package (Application Certificate and ASk) was issued under the original team, whose membership has since expired. FairPlay playback continues to work normally. We understand from these threads that FPS does not enforce the Application Certificate's own expiration date: https://developer.apple.com/forums/thread/74831 https://developer.apple.com/forums/thread/763861 Our question is a different one — about the team's membership status rather than the certificate's validity period: Does the validity of an FPS deployment package depend in any way on the membership status of the team it was issued under, or are the credentials independent of that once issued? This is not a bug report. We would like to confirm the expected behaviour rather than rely on our own assumptions.
Replies
1
Boosts
0
Views
740
Activity
Aug ’26
FairPlay Streaming Credentials Approval — no response after 5 days
Hi, I submitted a FairPlay Streaming credentials approval request 5 days ago (through the "Request FairPlay Streaming credentials approval" form) and haven't received any response yet. Could someone from the Security Engineering team please check the status? Team ID: US7RGQX775 We're an online education platform and use a third-party DRM/video hosting provider (VdoCipher) that already operates a working, tested FairPlay Streaming KSM on our behalf — we just need the certificate to hand over to them. Thanks in advance!
Replies
0
Boosts
0
Views
404
Activity
Aug ’26
[FairPlay] Attack AVContentKey to CMSampleBuffer results in "NSLocalizedFailureReason=This app is not authorized to play this file"
I implemented an AVContentKeySessionDelegate that after calling processContentKeyRequest succeeds in producing a contentKey in the callback func contentKeySession(_: AVContentKeySession, didProvide _contentKey: AVContentKey) of the AVContentKeyRecipient that manages the decoding of CMSampleBuffers. However, when I store the AVContentKey from the contentKeySession callback and try to attach it to the CMSampleBuffer with AVSampleBufferAttachContentKey, I get the error: Error Domain=AVFoundationErrorDomain Code=-11836 "Cannot Open" UserInfo={NSLocalizedFailureReason=This app is not authorized to play this file., NSLocalizedDescription=Cannot Open, NSUnderlyingError=0x28303a220 {Error Domain=NSOSStatusErrorDomain Code=-12161 "(null)"}} Does anyone have some insight on why this is happening and how to solve it?
Replies
2
Boosts
0
Views
1.9k
Activity
Aug ’26