ap4y/OrigamiEngine

engineExpectsNextUrl is called repeatly then crash even nil is returned

horaceho opened this issue · 4 comments

My delegate is simple as:

- (NSURL *)engineExpectsNextUrl:(ORGMEngine *)engine
{
    NSURL* url = nil;
    return url;
}

When a song is played to the end, the engineExpectsNextUrl delegate is called repeated for tens of times, then crash.

The same happens for a few .mp3, .flac and .wav files.

iOS 8.1.3
iPhone 6 Plus

PODS:
  - OrigamiEngine (1.0.14):
    - OrigamiEngine/Core (= 1.0.14)
  - OrigamiEngine/Core (1.0.14)
  - OrigamiEngine/Flac (1.0.14):
    - OrigamiEngine/Core
  - OrigamiEngine/Opus (1.0.14):
    - OrigamiEngine/Core
ap4y commented

I will check this over the weekend.

I've upload my project to: https://github.com/horaceho/LosslessPlayer.git

A typical debug log looks like:

2015-02-27 10:09:34.386 Player[5288:1220583] -[AppDelegate application:didFinishLaunchingWithOptions:] backgroud play OK
2015-02-27 10:09:34.551 Player[5288:1220583] -[AppDelegate applicationDidBecomeActive:] backgroud play ACTIVE
2015-02-27 10:10:25.255 Player[5288:1220583] -[PlayViewController engine:didChangeState:] Playing /var/mobile/Containers/Data/Application/CF327B88-A464-42C5-944A-75D5312A4337/Documents/Prē.flac
2015-02-27 10:10:55.373 Player[5288:1220883] -[PlayViewController engineExpectsNextUrl:]
2015-02-27 10:10:55.559 Player[5288:1220883] -[PlayViewController engineExpectsNextUrl:]
2015-02-27 10:10:55.745 Player[5288:1220883] -[PlayViewController engineExpectsNextUrl:]
2015-02-27 10:10:55.930 Player[5288:1220883] -[PlayViewController engineExpectsNextUrl:]
2015-02-27 10:10:55.953 Player[5288:1220883] -[PlayViewController engineExpectsNextUrl:]
...

More information ...

The podspec is using an old version of code as of: :tag => "1.0.14" 4c920f2 . There was a patch in later commit 5053bf1 which supposed to fix the issue. However, the bug was not fixed.

endOfInput was kept changing by the [_input process]; loop, and triggers infinite observeValueForKeyPaths

I have the same issue. Please let me know if you need help reproducing.