Принудительное использование Android с чередованием RTSP/AVP/TCP

Я использую Android 4.1.2 на Galaxy S3. В настоящее время Android MediaPlayer всегда пытается использовать RTSP UDP (RTP/AVP/UDP) метод для соединения с RTSP-сервером.

Если Android MediaPlayer не получает данные на свои UDP-порты... время ожидания, а затем пытается использовать RTSP TCP с чередованием (RTP/AVP/TCP). Это хорошо, но вводит задержку в 10 секунд или около того. Я хочу избежать этой задержки и заставить Android MediaPlayer всегда использовать RTSP TCP с чередованием (RTP / AVP / TCP) для всех или определенных URL.

Я попробовал предложение, приведенное здесь, чтобы отправить 461 или 400 код ответа об ошибке в запросе SETUP. Но, похоже, медиаплеер не заботится об ответе и посылает команду SETUP для обоих треков, а затем просто вешает соединение.

Как я могу решить эту проблему?

2 ответа

Я использую VLC вместо родного. Прочтите исходный код Living555, пожалуйста. Вы можете указать поле Transport: RAW/RAW/UDP в запросе SETUP, чтобы выбрать, какой протокол использовать.

Я могу ошибаться, но AFAIK Android MediaPlayer не поддерживает RTP через TCP.

Другие вопросы по тегам