#6678: AMR multicast receive: "Operation not permitted" -------------------------------------+------------------------------------- Reporter: simonb | Type: defect Status: new | Priority: normal Component: | Version: undetermined | unspecified Keywords: | Blocked By: Blocking: | Reproduced by developer: 0 Analyzed by developer: 0 | -------------------------------------+------------------------------------- Summary of the bug: AMR over UDP works between 127.0.0.1 TX and 0.0.0.0 RX as expected but fails over a multicast address
How to reproduce: 1) Create a test transmitter: {{{ % ffmpeg -re -f lavfi -i "sine=frequency=432:sample_rate=16000" -c:a libvo_amrwbenc -b:a 14250 -f amr udp://@239.200.10.0:1234 }}} 2) Create a test receiver probe: {{{ % ffprobe -v 9 -loglevel 99 -f amr udp://@239.200.10.0:1234 }}} Expected result: {{{ ... Input #0, amr, from 'udp://0.0.0.0:1234': Duration: N/A, bitrate: 14 kb/s Stream #0:0, 50, 1/16000: Audio: amr_wb (sawb / 0x62776173), 16000 Hz, mono, flt }}} Actual result: {{{ ffprobe version N-87327-g18821e3ba1-static http://johnvansickle.com/ffmpeg/ Copyright (c) 2007-2017 the FFmpeg developers built with gcc 6.4.0 (Debian 6.4.0-5) 20170906 configuration: --enable-gpl --enable-version3 --enable-static --disable- debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc-6 --enable-fontconfig --enable-frei0r --enable-gnutls --enable- gray --enable-libfribidi --enable-libass --enable-libvmaf --enable- libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable- libopencore-amrwb --enable-libopenjpeg --enable-librubberband --enable- librtmp --enable-libsoxr --enable-libspeex --enable-libvorbis --enable- libopus --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libzimg libavutil 55. 75.100 / 55. 75.100 libavcodec 57.106.101 / 57.106.101 libavformat 57. 82.100 / 57. 82.100 libavdevice 57. 8.101 / 57. 8.101 libavfilter 6.105.100 / 6.105.100 libswscale 4. 7.103 / 4. 7.103 libswresample 2. 8.100 / 2. 8.100 libpostproc 54. 6.100 / 54. 6.100 [amr @ 0x42411a0] Opening 'udp://239.200.10.0:1234' for reading [udp @ 0x4241a40] No default whitelist set [udp @ 0x4241a40] end receive buffer size reported is 131072 [AVIOContext @ 0x4261e40] Statistics: 37 bytes read, 0 seeks udp://239.200.10.0:1234: Operation not permitted }}} For comparison, working example of non-multicast UDP 1) Create the test transmitter {{ % ffmpeg -re -f lavfi -i "sine=frequency=432:sample_rate=16000" -c:a libvo_amrwbenc -b:a 14250 -f amr udp://127.0.0.1:1234 }}} 2) Create a test receiver probe: {{{ % ffprobe -v 9 -loglevel 99 -f amr udp://0.0.0.0:1234 }}} Working example result: {{{ ffprobe version N-87327-g18821e3ba1-static http://johnvansickle.com/ffmpeg/ Copyright (c) 2007-2017 the FFmpeg developers built with gcc 6.4.0 (Debian 6.4.0-5) 20170906 configuration: --enable-gpl --enable-version3 --enable-static --disable- debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc-6 --enable-fontconfig --enable-frei0r --enable-gnutls --enable- gray --enable-libfribidi --enable-libass --enable-libvmaf --enable- libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable- libopencore-amrwb --enable-libopenjpeg --enable-librubberband --enable- librtmp --enable-libsoxr --enable-libspeex --enable-libvorbis --enable- libopus --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libzimg libavutil 55. 75.100 / 55. 75.100 libavcodec 57.106.101 / 57.106.101 libavformat 57. 82.100 / 57. 82.100 libavdevice 57. 8.101 / 57. 8.101 libavfilter 6.105.100 / 6.105.100 libswscale 4. 7.103 / 4. 7.103 libswresample 2. 8.100 / 2. 8.100 libpostproc 54. 6.100 / 54. 6.100 [amr @ 0x4b041a0] Opening 'udp://0.0.0.0:1234' for reading [udp @ 0x4b04a40] No default whitelist set [udp @ 0x4b04a40] end receive buffer size reported is 131072 [amr @ 0x4b041a0] Before avformat_find_stream_info() pos: 9 bytes read:46 seeks:0 nb_streams:1 [amr @ 0x4b041a0] All info found [amr @ 0x4b041a0] stream 0: start_time: -576460752303423.500 duration: -576460752303423.500 [amr @ 0x4b041a0] format: start_time: -9223372036854.775 duration: -9223372036854.775 bitrate=14 kb/s [amr @ 0x4b041a0] After avformat_find_stream_info() pos: 1859 bytes read:1859 seeks:0 frames:50 Input #0, amr, from 'udp://0.0.0.0:1234': Duration: N/A, bitrate: 14 kb/s Stream #0:0, 50, 1/16000: Audio: amr_wb (sawb / 0x62776173), 16000 Hz, mono, flt [AVIOContext @ 0x4b24e40] Statistics: 1859 bytes read, 0 seeks }}} -- Ticket URL: <https://trac.ffmpeg.org/ticket/6678> FFmpeg <https://ffmpeg.org> FFmpeg issue tracker _______________________________________________ FFmpeg-trac mailing list FFmpeg-trac@avcodec.org http://ffmpeg.org/mailman/listinfo/ffmpeg-trac