2011-01-12 12 views
2

暗号化されたHLSアセットを再生しているときに暗号化キーが失われてしまうと、URLConnectionClientのEXC_BAD_ACCESSが深刻な問題が発生します。 MPMovieViewControllerには問題はありません。ただ再生できませんが、AVPlayerが復号化キーを取得できない場合はクラッシュします。例えば暗号化されたHLS素材でAVPlayerがクラッシュする

この:

AVPlayer *player = [[AVPlayer alloc] initWithURL: 
     [NSURL URLWithString:@"http://192.168.1.69/prog_index.m3u8"]]; 

は、ファイルprog_index.m3u8がを暗号化されている場合、復号鍵が利用できない、(具体的にはcom.apple.coremedia.networkbuffering)別のスレッドでクラッシュします。私は解読キーを読み込むことができるときにうまく動作することを確認しました。

誰かが回避策を知っていますか?

答えて

1

このバグはAppleに報告されています。

回避策は、.m3u8ファイルを読み込んで解析し、関連する復号鍵をロードすることです。 エラーが発生した場合、正常に処理するのは簡単です。

ダウンロードした復号鍵を電話機にローカルに保存し、.m3u8ファイルのリモートURLをローカルパスに置き換えます。

最後に、変更された.m3u8をローカルに保存し、そのローカルURLをAVPlayerに送ります。

関連する問題