Falha ao analisar o arquivo M4A, AAC com o Apple Audio File Stream Services, iOS 7

Estou usando este tutorialConectividade de vários usuários Áudio Stream para vários pares e esse projetoRepositório do Github , para transmitir áudio do NSInputStream, obtido por:

-(void)session:didReceiveStream:withName:fromPeer:

Método de delegação do MCSession.

Depois disso, é aberto um novo fluxo de arquivos de áudio (TDAudioFileStreamer / Classes / AudioFileStream.m: 39):

OSStatus err = AudioFileStreamOpen((__bridge void *)self, TDAudioFileStreamPropertyListener, TDAudioFileStreamPacketsListener, 0, &_audioFileStreamID); 

Em seguida, leia os bytes do NSInputStream e tente analisar dessa maneira (TDAudioFileStreamer / Classes / AudioFileStream.m: 98):

err = AudioFileStreamParseBytes(self.audioFileStreamID, length, data, kAudioFileStreamParseFlag_Discontinuity);

Ou:

err = AudioFileStreamParseBytes(self.audioFileStreamID, length, data, 0);

Dependendo do fluxo de dados.

E, finalmente, isso preenche o AudioQueue Buffer com os dados analisados para reproduzir (eu acho - TDAudioFileStreamer / Classes / TDAudioQueueFiller.m).

Isso funciona muito bem para arquivos no formato MP3, mas com outros formatos ao tentar analisar os bytes, obtém o erro "formato de arquivo não suportado".

A documentação da Apple diz que os serviços Audio File Stream suportam muitos formatos e estão listados neste link:Formatos suportados pelo Apple Stream Services, mas para mim só funciona com MP3.

Eu também estava tentando, quando abrir o fluxo de arquivos de áudio, passe uma dica sobre o formato desse arquivo e envie um arquivo M4A ou AAC:

OSStatus err = AudioFileStreamOpen((__bridge void *)self, TDAudioFileStreamPropertyListener, TDAudioFileStreamPacketsListener, kAudioFileAAC_ADTSType, &_audioFileStreamID);

Onde kAudioFileAAC_ADTSType é o tipo de arquivo enviado que será transmitido por streaming, dessa forma, o "erro de formato de arquivo não suportado" desaparece, mas o aplicativo falha e obtém um novo erro

Isto diz: io: lpc e client: aac.

Alguém sabe o que isso significa?A fila está esperando o arquivo no formato AAC?Por que LPCM (modulação de código de pulso linear), estou enviando M4A ou AAC e não LPCM?

Desde já, obrigado.

questionAnswers(2)

yourAnswerToTheQuestion