

# Problemas conhecidos e soluções no SDK de Transmissão para iOS do IVS \| Streaming de baixa latência
<a name="broadcast-ios-issues"></a>

Este documento lista problemas conhecidos que podem ser encontrados ao usar o SDK de Transmissão para iOS streaming de baixa latência do Amazon IVS e sugere possíveis soluções.
+ Um bug no ReplayKit causa um rápido aumento de memória ao conectar um fone de ouvido com fio durante uma transmissão.

  **Soluções alternativas:** inicie a transmissão com o fone de ouvido com fio já conectado, use um fone de ouvido Bluetooth ou não use um microfone externo.
+ Se, em algum momento, durante uma transmissão do ReplayKit, você ativar o microfone e interromper a sessão de áudio (por exemplo, ao fazer uma chamada telefônica ou ativar a Siri), o áudio do sistema deixará de funcionar. Este é um bug do ReplayKit que estamos tentando resolver em parceria com a Apple.

  **Solução alternativa:** em uma interrupção de áudio, pare a transmissão e alerte o usuário.
+ Os AirPods não gravarão áudio se a opção `AVAudioSession` estiver definida como `record`. Por padrão, o SDK usa o `playAndRecord`. Portanto, esse problema só se manifestará se a categoria for alterada para `record`.

  **Solução alternativa:** se houver uma chance de os AirPods serem usados para gravar áudio, use `playAndRecord`, mesmo que a aplicação não esteja reproduzindo mídia. 
+ Quando AirPods estão conectados a um dispositivo iOS 12, nenhum outro microfone pode ser usado para gravar áudio. A tentativa de mudar para um microfone interno retorna imediatamente para os AirPods.

  **Solução alternativa:** nenhuma. Se os AirPods estiverem conectados ao iOS 12, eles serão o único dispositivo que pode gravar áudio.
+ Enviar dados de áudio mais rápido do que em tempo real (usando uma fonte de áudio personalizada) causará desvios de áudio.

  **Solução alternativa:** não envie dados de áudio mais rápido do que em tempo real. 
+ Ao usar uma taxa de amostragem alta (44100 Hz ou superior) e dois canais, pode ser que apareçam artefatos de áudio em taxas de bits abaixo de 68 kbps.

  **Solução alternativa:** aumente a taxa de bits para 68 kbps ou superior, diminua a taxa de amostragem para 24.000 Hz ou inferior, ou defina os canais para 1.
+ Quando o cancelamento de eco está habilitado nos dispositivos `IVSMicrophone`, somente uma única fonte de microfone é retornada pelo método `listAvailableInputSources`. 

  **Solução alternativa:** nenhuma. Esse comportamento é controlado pelo iOS.
+ A alteração de rotas de áudio Bluetooth pode ser imprevisível. Se você conectar um novo dispositivo no meio da sessão, o iOS poderá ou não alterar automaticamente a rota de entrada. Além disso, não é possível escolher entre vários fones de ouvido Bluetooth conectados ao mesmo tempo. Isso acontece tanto na transmissão regular quanto nas sessões de palco.

  **Solução alternativa:** se você planeja usar um fone de ouvido Bluetooth, conecte-o antes de iniciar a transmissão ou o palco e deixe-o conectado durante toda a sessão.
+ O iOS remove o acesso à câmera quando o pop-up dos AirPods aparece após a abertura de um estojo de AirPods emparelhados, enquanto os próprios AirPods são deixados no estojo. Isso resulta no congelamento do vídeo de uma transmissão ou um palco.

  **Solução alternativa:** nenhuma. O iOS revoga completamente o acesso à câmera enquanto o pop-up está sendo renderizado, e é impossível que aplicações de terceiros evitem o pop-up.
+ A ativação de quadros B pode melhorar a qualidade da compactação; no entanto, alguns codificadores fornecem um controle de taxa de bits menos preciso quando os quadros B estão ativados, o que pode causar problemas durante flutuações na rede.

  **Solução alternativa:** considere desativar os quadros B se a aderência consistente da taxa de bits for mais importante do que a eficiência da compactação para o seu caso de uso.