Search code examples
iosapp-storeappstore-approvalhttp-live-streaming

Streaming audio: HTTP Live Streaming a must for app store approval?


I'm on the eve of submitting an app to the store that streams audio over cellular and Wi-Fi, and realizing that the app may be in danger of getting rejected.

The app is for a radio station with an existing streaming architecture, and setting up the HTTP Live Streaming protocol would add a fifth and sixth stream to the mix -- potentially a very complicated setup. So, to minimize complexity on the station's end, the app code currently uses the iphone_radio open-source library to get the streams to work. According to the creator of that library, it is used in an app that is in the store, Radio Javan.

A quick Google finds many different rejection cases for video streaming, but few if any for audio. Apple's policy on HTTP Live Streaming is not very clear about audio:

If your app delivers video over cellular networks, and the video exceeds either 10 minutes duration or 5 MB of data in a five minute period, you are required to use HTTP Live Streaming. (Progressive download may be used for smaller clips.)

If your app uses HTTP Live Streaming over cellular networks, you are required to provide at least one stream at 64 Kbps or lower bandwidth (the low-bandwidth stream may be audio-only or audio with a still image).

These requirements apply to iOS apps submitted for distribution in the App Store for use on Apple products. Non-compliant apps may be rejected or removed, at the discretion of Apple.

One line that jumps out, though, is the 64 Kbps. The current streams are 128 Kbps, though dropping them down to 64 Kbps is relatively trivial compared to switching them to HTTP Live Streaming.

Is it even worth submitting the app to the store as-is (128 Kbps streams), or am I pretty much guaranteed to get rejected for not using the Live Streaming protocol? What about if I drop the streams down to 64 Kbps?


Solution

  • From App Store Review Guidelines :

    9.3 Audio streaming content over a cellular network may not use more than 5MB over 5 minutes

    9.4 Video streaming content over a cellular network longer than 10 minutes must use HTTP Live Streaming and include a baseline 64 kbps HTTP Live stream.

    https://developer.apple.com/appstore/resources/approval/guidelines.html#media-content

    • So App Store Guidelines doesn't set requirement for AUDIO stream to have 64 kbps HTTP Live stream.

    • According to this there is no even requirement to use HLS unless audio stream uses more than 5MB over 5 minutes data.