11

我在 MacOS 10.7.2(b.11C74) 上遇到了 QuickTime API 的问题。

这是一段打开电影描述符的openFrameworks代码:

// ofQuickTimePlayer.cpp
bool createMovieFromURL(string urlIn,  Movie &movie){
    char * url = (char *)urlIn.c_str();
    Handle urlDataRef;
    OSErr err;
    urlDataRef = NewHandle(strlen(url) + 1);
    // ...
    BlockMoveData(url, *urlDataRef, strlen(url) + 1);
    err = NewMovieFromDataRef(
        &movie, 
        newMovieActive, 
        nil, 
        urlDataRef, 
        URLDataHandlerSubType);
    // ...
    if ( err != noErr ) {
       ofLog(OF_LOG_ERROR,"createMovieFromURL: error loading url");
       return false;
    } else {
       return true;
    }
}

我只需要打开 HLS 视频流。

测试 Apple HLS 流不会加载失败,但不会呈现视频。这是:http ://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8

在这种情况下,我的测试 HLS 流无法加载并且 err 等于-2048

一切都与通过 HTTP 传输的 .mp4 和 RTSP 协议完美配合。

相同的流在 QuickTime Player 10.1 (501.5) 中可以完美播放。

我的小研究的详细信息在这里:https ://github.com/openframeworks/openFrameworks/issues/897

所以我的问题是:

  1. 这种奇怪行为的原因是什么?
  2. 如何解决?
4

0 回答 0