Missing TPCircularBuffer methods

This discussion was created from comments split from: Crash in AEMessageQueue on ios 9.

Comments

  • edited October 2015

    Hi Michael,

    some APIs of TPCircularBuffer seem to have been removed, but the 1.5.1 pod file still contains the old headers.
    My code uses the following methods, do you know where I can find more information on the replacements?

    __TPCircularBufferInit
    
    _TPCircularBufferCleanup
    
    _TPCircularBufferClear
    
    _TPCircularBufferConsumeNextBufferListPartial
    
    _TPCircularBufferCopyAudioBufferList
    
    _TPCircularBufferGetAvailableSpace
    
    _TPCircularBufferPeek
    
    _TPCircularBufferPrepareEmptyAudioBufferListWithAudioFormat
    
    _TPCircularBufferProduceAudioBufferList
    
  • Hi @QuadDamaged,

    Hmm, nope, nothing's been removed - what makes you think it has?

  • edited October 2015

    I have built a player that uses TPCircularBuffer, since I updated from the 1.4 to 1.5.1pod, the linker is throwing errors:

    Error:Undefined symbol '_TPCircularBufferGetAvailableSpace' referenced from:
    Error:  -[MNCircularBufferPlayer initWithURL:withCapacity:audioController:    Error:] in MNCircularBufferPlayer.o
    Error:  -[MNCircularBufferPlayer produceFrames] in MNCircularBufferPlayer.o
    Error:Undefined symbol '_TPCircularBufferConsumeNextBufferListPartial' referenced from:
    Error:  _TPCircularBufferDequeueBufferListFramesFindMarker in MNCircularBufferPlayer.o
    Error:Undefined symbol '_TPCircularBufferPrepareEmptyAudioBufferListWithAudioFormat' referenced from:
    Error:  _TPCircularBufferEnqueueMarker in MNCircularBufferPlayer.o
    Error:Undefined symbol '_TPCircularBufferCopyAudioBufferList' referenced from:
    Error:  -[MNCircularBufferPlayer produceFrames] in MNCircularBufferPlayer.o
    Error:Undefined symbol '_TPCircularBufferPeek' referenced from:
    Error:  _renderCallback in MNCircularBufferPlayer.o
    Error:  -[MNCircularBufferPlayer initWithURL:withCapacity:audioController:    Error:] in MNCircularBufferPlayer.o
    Error:Undefined symbol '_TPCircularBufferProduceAudioBufferList' referenced from:
    Error:  _TPCircularBufferEnqueueMarker in MNCircularBufferPlayer.o
    Error:Undefined symbol '_TPCircularBufferClear' referenced from:
    Error:  -[MNCircularBufferPlayer primeBufferFromStart] in MNCircularBufferPlayer.o
    Error:Undefined symbol '_TPCircularBufferCleanup' referenced from:
    Error:  -[MNAudioLevelsReceiver dealloc] in MNAudioLevelsReceiver.o
    Error:Undefined symbol '__TPCircularBufferInit' referenced from:
    Error:  -[MNAudioLevelsReceiver initWithSourceFormat:] in MNAudioLevelsReceiver.o
    Error:  -[MNCircularBufferPlayer initWithURL:withCapacity:audioController:    Error:] in MNCircularBufferPlayer.o
    
  • edited October 2015

    Ahh, you probably need to be sure to include the c files from TPCircularBuffer in your build process.

    If you're using cocoapods, use the "TPCircularBuffer" pod

  • edited October 2015

    Thanks :)

  • @QuadDamaged not only do you need to add the TPCircularBuffer pod, you need to modify the build phases for the TAEE pod to make TPCircularBuffer a target dependency and linked. See attached screenshot

  • Oh, that's awkward...

    I might modify the pod to depend on TPCircularBuffer and not include its own copy. Guess that's Cocoapods' bag, anyway.

Sign In or Register to comment.