# iOS playback issues with poster frame and cupertinoPacketizeAllStreamsAsTS

**URL:** <https://community.wowza.com/t/ios-playback-issues-with-poster-frame-and-cupertinopacketizeallstreamsasts/34149>\
**Category:** Wowza Streaming Engine\
**Created:** [September 20, 2013, 2:21pm UTC](https://community.wowza.com/t/ios-playback-issues-with-poster-frame-and-cupertinopacketizeallstreamsasts/34149 "2013-09-20T14:21:58Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![Vijay\_J](https://avatars.discourse-cdn.com/v4/letter/v/d78d45/32.png) [@Vijay\_J](https://community.wowza.com/u/Vijay_J)\
**Post date:** [September 20, 2013, 2:21pm UTC](https://community.wowza.com/t/ios-playback-issues-with-poster-frame-and-cupertinopacketizeallstreamsasts/34149/1 "2013-09-20T14:21:58Z")

</div>

Hi,

We recently enabled streaming of audio-only Apple HLS using transport stream ([https://www.wowza.com/docs/how-to-configure-wowza-server-to-stream-audio-only-apple-hls-using-transport-stream](https://www.wowza.com/docs/how-to-configure-wowza-server-to-stream-audio-only-apple-hls-using-transport-stream)) to allow JW Player 6 to play iOS audio-only streams from wowza. While that did the trick, it resulted in playback issues on iOS devices when using a poster frame. Playback is at a faster speed than normal with long pauses in between. Also, the poster frame takes a good 10-15 seconds to show up. On setting cupertinoPacketizeAllStreamsAsTS to false, playback is normal with the poster frame showing up immediately.

We used the precompiled version listed in [https://www.wowza.com/docs/how-to-add-poster-frames-to-apple-http-streams-id3-metadata-for-app-store-audio-renditions](https://www.wowza.com/docs/how-to-add-poster-frames-to-apple-http-streams-id3-metadata-for-app-store-audio-renditions) for the tests.

Is this a known issue where a combination of poster frames + packetizing HLS as TS causes problems? If so, is there a fix in the works? We’re testing this with Wowza 3.6.2 patch 10.

Thanks

---

<div class="post-metadata">

**Author:** ![Richard\_Lanham](https://avatars.discourse-cdn.com/v4/letter/r/c68b51/32.png) [@Richard\_Lanham](https://community.wowza.com/u/Richard_Lanham)\
**Post date:** [September 20, 2013, 10:38pm UTC](https://community.wowza.com/t/ios-playback-issues-with-poster-frame-and-cupertinopacketizeallstreamsasts/34149/2 "2013-09-20T22:38:20Z")

</div>

Do you need to use that setting? Poster frames are designed to work with audio only, which normally contain .aac or .mp3 chunks instead of .ts chunks. Since it works well in your test without that setting, what is the case for turning it on?

Rihcard

---

<div class="post-metadata">

**Author:** ![Richard\_Lanham](https://avatars.discourse-cdn.com/v4/letter/r/c68b51/32.png) [@Richard\_Lanham](https://community.wowza.com/u/Richard_Lanham)\
**Post date:** [September 24, 2013, 1:30pm UTC](https://community.wowza.com/t/ios-playback-issues-with-poster-frame-and-cupertinopacketizeallstreamsasts/34149/3 "2013-09-24T13:30:05Z")

</div>

Okay, I will see if I can replicate and escalate if necessary.

Richard

---

<div class="post-metadata">

**Author:** ![Richard\_Lanham](https://avatars.discourse-cdn.com/v4/letter/r/c68b51/32.png) [@Richard\_Lanham](https://community.wowza.com/u/Richard_Lanham)\
**Post date:** [September 24, 2013, 10:07pm UTC](https://community.wowza.com/t/ios-playback-issues-with-poster-frame-and-cupertinopacketizeallstreamsasts/34149/4 "2013-09-24T22:07:50Z")

</div>

In my test the poster frame did not work with cupertinoPacketizeAllStreamsAsTS set to “true”. I tested the poster frames on a live stream [following this guide](https://www.wowza.com/docs/how-to-add-poster-frames-to-apple-http-streams-id3-metadata-for-on-demand-and-live-audio-streams%28ID3-metadata%29-for-on-demand-and-live-audio-streams)

I will let Engineering know. Thanks for the report,

Richard

---

<div class="post-metadata">

**Author:** ![Richard\_Lanham](https://avatars.discourse-cdn.com/v4/letter/r/c68b51/32.png) [@Richard\_Lanham](https://community.wowza.com/u/Richard_Lanham)\
**Post date:** [September 25, 2013, 9:20pm UTC](https://community.wowza.com/t/ios-playback-issues-with-poster-frame-and-cupertinopacketizeallstreamsasts/34149/5 "2013-09-25T21:20:58Z")

</div>

We reviewed this, Engineering looked at it and determined that it is not supported at present. It’s a player issue really, as I indicated initially. The player does not expect post frames in .ts chunks.

Richard

---

<div class="post-metadata">

**Author:** ![Richard\_Lanham](https://avatars.discourse-cdn.com/v4/letter/r/c68b51/32.png) [@Richard\_Lanham](https://community.wowza.com/u/Richard_Lanham)\
**Post date:** [September 25, 2013, 9:34pm UTC](https://community.wowza.com/t/ios-playback-issues-with-poster-frame-and-cupertinopacketizeallstreamsasts/34149/6 "2013-09-25T21:34:41Z")

</div>

I don’t think this can be done per playback client. Wowza is packetizing one way or the other. I looked at the HTTPStreamerSessionCupertino api to be sure, and there is no method to do that.

Richard

---

<div class="post-metadata">

**Author:** ![Richard\_Lanham](https://avatars.discourse-cdn.com/v4/letter/r/c68b51/32.png) [@Richard\_Lanham](https://community.wowza.com/u/Richard_Lanham)\
**Post date:** [September 26, 2013, 7:41pm UTC](https://community.wowza.com/t/ios-playback-issues-with-poster-frame-and-cupertinopacketizeallstreamsasts/34149/7 "2013-09-26T19:41:37Z")

</div>

You can do it in ILiveStreamPacketizerActionNotify.onLiveStreamPacketizerInit(). Add these lines at the top:

```auto
if (streamName.equalsIgnoreCase("myStream"))
	LiveStreamPacketizerCupertino cupertinoPacketizer = (LiveStreamPacketizerCupertino) liveStreamPacketizer;
	cupertinoPacketizer.setPacketizeAllStreamsAsTS(true);

```

Richard

---

<div class="post-metadata">

**Author:** ![Vijay\_J](https://avatars.discourse-cdn.com/v4/letter/v/d78d45/32.png) [@Vijay\_J](https://community.wowza.com/u/Vijay_J)\
**Post date:** [September 20, 2013, 2:44pm UTC](https://community.wowza.com/t/ios-playback-issues-with-poster-frame-and-cupertinopacketizeallstreamsasts/34149/8 "2013-09-20T14:44:40Z")

</div>

We have customers who use JWPlayer 6 which supports HLS. For audio-only delivery however, it requires that the chunks need to be TS, which is why we enabled the property.

---

<div class="post-metadata">

**Author:** ![Vijay\_J](https://avatars.discourse-cdn.com/v4/letter/v/d78d45/32.png) [@Vijay\_J](https://community.wowza.com/u/Vijay_J)\
**Post date:** [September 24, 2013, 9:58am UTC](https://community.wowza.com/t/ios-playback-issues-with-poster-frame-and-cupertinopacketizeallstreamsasts/34149/9 "2013-09-24T09:58:49Z")

</div>

Thanks Richard.

---

<div class="post-metadata">

**Author:** ![Vijay\_J](https://avatars.discourse-cdn.com/v4/letter/v/d78d45/32.png) [@Vijay\_J](https://community.wowza.com/u/Vijay_J)\
**Post date:** [September 25, 2013, 1:23pm UTC](https://community.wowza.com/t/ios-playback-issues-with-poster-frame-and-cupertinopacketizeallstreamsasts/34149/10 "2013-09-25T13:23:01Z")

</div>

In that case, is it possible to set the cupertinoPacketizeAllStreamsAsTS property on a per feed basis? That way, we only packetize specific feeds in TS chunks for customers that do use JWPlayer 6.

---

<div class="post-metadata">

**Author:** ![Vijay\_J](https://avatars.discourse-cdn.com/v4/letter/v/d78d45/32.png) [@Vijay\_J](https://community.wowza.com/u/Vijay_J)\
**Post date:** [September 25, 2013, 1:36pm UTC](https://community.wowza.com/t/ios-playback-issues-with-poster-frame-and-cupertinopacketizeallstreamsasts/34149/11 "2013-09-25T13:36:59Z")

</div>

Not on the output side, but the ingest. At the point the Encoder pushes a stream to the Live Repeater Origin. Right now, the property is set on a per-application basis, but that’s not going to work for us.
