[FFmpeg-trac] #1476(FFmpeg:new): rtp pcm_alaw/pcm_mulaw streaming from ALSA

FFmpeg trac at avcodec.org
Fri Jun 22 15:50:43 CEST 2012


#1476: rtp pcm_alaw/pcm_mulaw streaming from ALSA
------------------------------------+----------------------------------
             Reporter:  Spideru     |                    Owner:
                 Type:  defect      |                   Status:  new
             Priority:  important   |                Component:  FFmpeg
              Version:  git-master  |               Resolution:
             Keywords:              |               Blocked By:
             Blocking:              |  Reproduced by developer:  0
Analyzed by developer:  0           |
------------------------------------+----------------------------------

Comment (by burek):

 I'll just copy/paste what's on pastebin, so it doesn't expire some time in
 the future..


 {{{
 ffmpeg started on 2012-06-22 at 14:40:04
 Report written to "ffmpeg-20120622-144004.log"
 Command line:
 ./ffmpeg -v 9 -loglevel 99 -report -f alsa -ar 8000 -ac 1 -i hw:1,0 -ar
 8000 -acodec pcm_alaw -ab 64k -f rtp rtp://127.0.0.1:1234
 ffmpeg version N-41796-g1bb30d0 Copyright (c) 2000-2012 the FFmpeg
 developers
   built on Jun 22 2012 10:56:44 with gcc 4.6.3
   configuration: --enable-libx264 --enable-gpl
   libavutil      51. 59.100 / 51. 59.100
   libavcodec     54. 29.100 / 54. 29.100
   libavformat    54. 10.100 / 54. 10.100
   libavdevice    54.  0.100 / 54.  0.100
   libavfilter     2. 82.100 /  2. 82.100
   libswscale      2.  1.100 /  2.  1.100
   libswresample   0. 15.100 /  0. 15.100
   libpostproc    52.  0.100 / 52.  0.100
 [alsa @ 0xa060a60] All info found
 [alsa @ 0xa060a60] Estimating duration from bitrate, this may be
 inaccurate
 Guessed Channel Layout for  Input Stream #0.0 : mono
 Input #0, alsa, from 'hw:1,0':
   Duration: N/A, start: 1340368804.551118, bitrate: 705 kb/s
     Stream #0:0, 1, 1/1000000: Audio: pcm_s16le, 44100 Hz, mono, s16, 705
 kb/s
 [abuffer source @ 0xa05efc0] Setting entry with key 'time_base' to value
 '1/1000000'
 [abuffer source @ 0xa05efc0] Setting entry with key 'sample_rate' to value
 '44100'
 [abuffer source @ 0xa05efc0] Setting entry with key 'sample_fmt' to value
 's16'
 [abuffer source @ 0xa05efc0] Setting entry with key 'channel_layout' to
 value '0x4'
 [abuffer @ 0xa05f400] tb:1/1000000 samplefmt:s16 samplerate: 44100 ch
 layout:0x4
 [aformat @ 0xa05f480] Setting entry with key 'sample_fmts' to value 's16'
 [aformat @ 0xa05f480] Setting entry with key 'sample_rates' to value
 '8000'
 [aformat @ 0xa05f5e0] auto-inserting filter 'auto-inserted resampler 0'
 between the filter 'Parsed_anull_0' and the filter 'aformat'
 [auto-inserted resampler 0 @ 0xa05fa80] chl:mono fmt:s16 r:44100Hz ->
 chl:mono fmt:s16 r:8000Hz
 [rtp @ 0xa05daa0] Cannot respect max delay: frame size = 0
 Output #0, rtp, to 'rtp://127.0.0.1:1234':
   Metadata:
     encoder         : Lavf54.10.100
     Stream #0:0, 0, 1/8000: Audio: pcm_alaw, 8000 Hz, mono, s16, 64 kb/s
 Stream mapping:
   Stream #0:0 -> #0:0 (pcm_s16le -> pcm_alaw)
 Press [q] to stop, [?] for help
 size=       9kB time=00:00:00.56 bitrate= 133.9kbits/s
 size=      17kB time=00:00:01.06 bitrate= 134.1kbits/s
 size=      26kB time=00:00:01.57 bitrate= 134.0kbits/s
 size=      34kB time=00:00:02.07 bitrate= 134.0kbits/s
 size=      42kB time=00:00:02.58 bitrate= 134.0kbits/s
 size=      50kB time=00:00:03.08 bitrate= 134.0kbits/s
 size=      59kB time=00:00:03.59 bitrate= 134.0kbits/s
 size=      67kB time=00:00:04.10 bitrate= 134.0kbits/s
 size=      75kB time=00:00:04.60 bitrate= 134.1kbits/s
 size=      84kB time=00:00:05.11 bitrate= 134.1kbits/s
 size=      92kB time=00:00:05.62 bitrate= 134.1kbits/s
 size=     100kB time=00:00:06.13 bitrate= 134.1kbits/s
 size=     109kB time=00:00:06.64 bitrate= 134.1kbits/s
 size=     117kB time=00:00:07.14 bitrate= 134.1kbits/s
 size=     125kB time=00:00:07.65 bitrate= 134.0kbits/s
 size=     133kB time=00:00:08.15 bitrate= 134.1kbits/s
 size=     142kB time=00:00:08.65 bitrate= 134.1kbits/s
 size=     150kB time=00:00:09.15 bitrate= 134.1kbits/s
 size=     158kB time=00:00:09.65 bitrate= 134.1kbits/s
 size=     166kB time=00:00:10.16 bitrate= 134.1kbits/s
 size=     175kB time=00:00:10.67 bitrate= 134.1kbits/s
 size=     183kB time=00:00:11.17 bitrate= 134.1kbits/s
 size=     191kB time=00:00:11.67 bitrate= 134.1kbits/s
 size=     199kB time=00:00:12.18 bitrate= 134.1kbits/s
 size=     208kB time=00:00:12.68 bitrate= 134.1kbits/s
 size=     216kB time=00:00:13.18 bitrate= 134.1kbits/s
 size=     224kB time=00:00:13.69 bitrate= 134.1kbits/s
 size=     232kB time=00:00:14.19 bitrate= 134.1kbits/s
 size=     241kB time=00:00:14.70 bitrate= 134.1kbits/s
 size=     249kB time=00:00:15.20 bitrate= 134.1kbits/s
 size=     257kB time=00:00:15.70 bitrate= 134.1kbits/s
 size=     265kB time=00:00:16.21 bitrate= 134.1kbits/s
 size=     274kB time=00:00:16.71 bitrate= 134.1kbits/s
 size=     282kB time=00:00:17.21 bitrate= 134.1kbits/s
 }}}

 gdb output:

 {{{
 $ gdb ./ffmpeg_g
 GNU gdb (GDB) 7.4.1-debian
 Copyright (C) 2012 Free Software Foundation, Inc.
 License GPLv3+: GNU GPL version 3 or later
 <http://gnu.org/licenses/gpl.html>
 This is free software: you are free to change and redistribute it.
 There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
 and "show warranty" for details.
 This GDB was configured as "i486-linux-gnu".
 For bug reporting instructions, please see:
 <http://www.gnu.org/software/gdb/bugs/>...
 Reading symbols from /home/adriano/ffmpeg_git/ffmpeg/ffmpeg_g...done.
 (gdb) r -f alsa -ar 8000 -ac 1 -i hw:1,0 -ar 8000 -acodec pcm_alaw -ab 64k
 -f rtp rtp://127.0.0.1:1234
 Starting program: /home/adriano/ffmpeg_git/ffmpeg/ffmpeg_g -f alsa -ar
 8000 -ac 1 -i hw:1,0 -ar 8000 -acodec pcm_alaw -ab 64k -f rtp
 rtp://127.0.0.1:1234
 [Thread debugging using libthread_db enabled]
 Using host libthread_db library "/lib/i386-linux-
 gnu/i686/cmov/libthread_db.so.1".
 ffmpeg version N-41796-g1bb30d0 Copyright (c) 2000-2012 the FFmpeg
 developers
   built on Jun 22 2012 10:56:44 with gcc 4.6.3
   configuration: --enable-libx264 --enable-gpl
   libavutil      51. 59.100 / 51. 59.100
   libavcodec     54. 29.100 / 54. 29.100
   libavformat    54. 10.100 / 54. 10.100
   libavdevice    54.  0.100 / 54.  0.100
   libavfilter     2. 82.100 /  2. 82.100
   libswscale      2.  1.100 /  2.  1.100
   libswresample   0. 15.100 /  0. 15.100
   libpostproc    52.  0.100 / 52.  0.100
 [alsa @ 0x8f524c0] Estimating duration from bitrate, this may be
 inaccurate
 Guessed Channel Layout for  Input Stream #0.0 : mono
 Input #0, alsa, from 'hw:1,0':
   Duration: N/A, start: 1340369169.952557, bitrate: 705 kb/s
     Stream #0:0: Audio: pcm_s16le, 44100 Hz, mono, s16, 705 kb/s
 [aformat @ 0x8f50b00] auto-inserting filter 'auto-inserted resampler 0'
 between the filter 'Parsed_anull_0' and the filter 'aformat'
 [auto-inserted resampler 0 @ 0x8f519a0] chl:mono fmt:s16 r:44100Hz ->
 chl:mono fmt:s16 r:8000Hz
 [rtp @ 0x8f4c940] Cannot respect max delay: frame size = 0
 Output #0, rtp, to 'rtp://127.0.0.1:1234':
   Metadata:
     encoder         : Lavf54.10.100
     Stream #0:0: Audio: pcm_alaw, 8000 Hz, mono, s16, 64 kb/s
 Stream mapping:
   Stream #0:0 -> #0:0 (pcm_s16le -> pcm_alaw)
 SDP:
 v=0
 o=- 0 0 IN IP4 127.0.0.1
 s=No Name
 c=IN IP4 127.0.0.1
 t=0 0
 a=tool:libavformat 54.10.100
 m=audio 1234 RTP/AVP 8
 b=AS:64

 Press [q] to stop, [?] for help
 size=     883kB time=00:00:53.89 bitrate= 134.2kbits/s
 Program received signal SIGSEGV, Segmentation fault.
 0x080ab79f in avfilter_copy_buffer_ref_props (dst=0x0, src=0x8f6b280)
     at libavfilter/buffer.c:169
 169         dst->pts             = src->pts;
 (gdb) bt
 #0  0x080ab79f in avfilter_copy_buffer_ref_props (dst=0x0, src=0x8f6b280)
     at libavfilter/buffer.c:169
 #1  0x080d18c6 in filter_samples (inlink=0x8f51020,
 insamplesref=0x8f6b280)
     at libavfilter/af_aresample.c:178
 #2  0x080a745a in ff_filter_samples (link=0x8f51020, samplesref=0x8f6b280)
     at libavfilter/audio.c:213
 #3  0x080a745a in ff_filter_samples (link=0x8f50f60, samplesref=0x8f6b280)
     at libavfilter/audio.c:213
 #4  0x080abe68 in request_frame (link=0x8f50f60) at
 libavfilter/buffersrc.c:445
 #5  0x080a95bf in ff_request_frame (link=0x8f51020)
     at libavfilter/avfilter.c:325
 #6  avfilter_request_frame (link=0x8f51020) at libavfilter/avfilter.c:594
 #7  0x080d1744 in request_frame (outlink=0x8f517c0)
     at libavfilter/af_aresample.c:214
 #8  0x080a880f in ff_request_frame (link=0x8f51100)
     at libavfilter/avfilter.c:325
 #9  0x080abab8 in av_buffersink_read (ctx=0x8f50760, buf=0xbfffe518)
     at libavfilter/buffersink.c:109
 #10 0x08095d7f in poll_filters () at ffmpeg.c:1928
 #11 0x08099f64 in transcode () at ffmpeg.c:3612
 #12 0x0808cf6a in main (argc=<optimized out>, argv=<optimized out>)
     at ffmpeg.c:5921
 (gdb) disass $pc-32,$pc+32
 Dump of assembler code from 0x80ab77f to 0x80ab7bf:
    0x080ab77f <avfilter_unref_bufferp+15>:      (bad)
    0x080ab780 <avfilter_unref_bufferp+16>:      (bad)
    0x080ab781 <avfilter_unref_bufferp+17>:      inc    %edi
    0x080ab783 <avfilter_unref_bufferp+19>:      add    (%eax),%eax
    0x080ab785 <avfilter_unref_bufferp+21>:      add    %al,(%eax)
    0x080ab787 <avfilter_unref_bufferp+23>:      add
 %al,-0x3ca4e73c(%ebx)
    0x080ab78d:  lea    0x0(%esi),%esi
    0x080ab790 <avfilter_copy_buffer_ref_props+0>:       push   %ebx
    0x080ab791 <avfilter_copy_buffer_ref_props+1>:       mov
 0xc(%esp),%eax
    0x080ab795 <avfilter_copy_buffer_ref_props+5>:       mov
 0x8(%esp),%edx
    0x080ab799 <avfilter_copy_buffer_ref_props+9>:       mov
 0x48(%eax),%ecx
    0x080ab79c <avfilter_copy_buffer_ref_props+12>:      mov
 0x4c(%eax),%ebx
 => 0x080ab79f <avfilter_copy_buffer_ref_props+15>:      mov
 %ecx,0x48(%edx)
    0x080ab7a2 <avfilter_copy_buffer_ref_props+18>:      mov
 0x50(%eax),%ecx
    0x080ab7a5 <avfilter_copy_buffer_ref_props+21>:      mov
 %ebx,0x4c(%edx)
    0x080ab7a8 <avfilter_copy_buffer_ref_props+24>:      mov
 0x54(%eax),%ebx
    0x080ab7ab <avfilter_copy_buffer_ref_props+27>:      mov
 %ecx,0x50(%edx)
    0x080ab7ae <avfilter_copy_buffer_ref_props+30>:      mov
 0x5c(%eax),%ecx
    0x080ab7b1 <avfilter_copy_buffer_ref_props+33>:      mov
 %ebx,0x54(%edx)
    0x080ab7b4 <avfilter_copy_buffer_ref_props+36>:      test   %ecx,%ecx
    0x080ab7b6 <avfilter_copy_buffer_ref_props+38>:      jne    0x80ab7f0
 <avfilter_copy_buffer_ref_props+96>
 ---Type <return> to continue, or q <return> to quit---
    0x080ab7b8 <avfilter_copy_buffer_ref_props+40>:      mov
 0x60(%eax),%eax
    0x080ab7bb <avfilter_copy_buffer_ref_props+43>:      mov
 0x60(%edx),%edx
    0x080ab7be <avfilter_copy_buffer_ref_props+46>:      mov    (%eax),%ecx
 End of assembler dump.
 (gdb) info all-registers
 eax            0x8f6b280        150385280
 ecx            0x33aaa9e        54176414
 edx            0x0      0
 ebx            0x0      0
 esp            0xbfffddc8       0xbfffddc8
 ebp            0x0      0x0
 esi            0x8f51020        150278176
 edi            0x8f6b280        150385280
 eip            0x80ab79f        0x80ab79f
 <avfilter_copy_buffer_ref_props+15>
 eflags         0x210286 [ PF SF IF RF ID ]
 cs             0x73     115
 ss             0x7b     123
 ds             0x7b     123
 es             0x7b     123
 fs             0x0      0
 gs             0x33     51
 st0            0.0096715819061950827895124405131355161  (raw
 0x3ff89e758dff365da000)
 st1            2.4075930937553908783854694775072858     (raw
 0x40009a160157f04fb800)
 st2            2.4075930937553908783854694775072858     (raw
 0x40009a160157f04fb800)
 st3            0.019157279608339034676633971798764833   (raw
 0x3ff99cefba2cbd982---Type <return> to continue, or q <return> to quit---
 800)
 st4            -108000000000    (raw 0xc023c92a69c000000000)
 st5            1000000  (raw 0x4012f424000000000000)
 st6            4        (raw 0x40018000000000000000)
 st7            0.72562358276643990073750956071307883    (raw
 0x3ffeb9c27795302e7000)
 fctrl          0x37f    895
 fstat          0x120    288
 ftag           0xffff   65535
 fiseg          0x73     115
 fioff          0x80d1892        135075986
 foseg          0x7b     123
 fooff          0xbfffde0c       -1073750516
 fop            0x35c    860
 xmm0           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
   v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0,
 0x0,
     0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0,
 0x0},
   uint128 = 0x00000000000000000000000000000000}
 xmm1           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
   v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0,
 0x0,
     0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0,
 0x0},
   uint128 = 0x00000000000000000000000000000000}
 xmm2           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
 ---Type <return> to continue, or q <return> to quit---
   v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0,
 0x0,
     0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0,
 0x0},
   uint128 = 0x00000000000000000000000000000000}
 xmm3           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {
     0x8000000000000000, 0x8000000000000000}, v16_int8 = {0x0, 0x0, 0x0,
     0xff <repeats 13 times>}, v8_int16 = {0x0, 0xff00, 0xffff, 0xffff,
 0xffff,
     0xffff, 0xffff, 0xffff}, v4_int32 = {0xff000000, 0xffffffff,
 0xffffffff,
     0xffffffff}, v2_int64 = {0xffffffffff000000, 0xffffffffffffffff},
   uint128 = 0xffffffffffffffffffffffffff000000}
 xmm4           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
   v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0,
 0x0,
     0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0,
 0x0},
   uint128 = 0x00000000000000000000000000000000}
 xmm5           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
   v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0,
 0x0,
     0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0,
 0x0},
   uint128 = 0x00000000000000000000000000000000}
 xmm6           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
   v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0,
 0x0,
     0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0,
 0x0},
   uint128 = 0x00000000000000000000000000000000}
 xmm7           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
   v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0,
 0x0,
 ---Type <return> to continue, or q <return> to quit---
     0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0,
 0x0},
   uint128 = 0x00000000000000000000000000000000}
 mxcsr          0x1f80   [ IM DM ZM OM UM PM ]
 mm0            {uint64 = 0x9e758dff365da000, v2_int32 = {0x365da000,
     0x9e758dff}, v4_int16 = {0xa000, 0x365d, 0x8dff, 0x9e75}, v8_int8 =
 {0x0,
     0xa0, 0x5d, 0x36, 0xff, 0x8d, 0x75, 0x9e}}
 mm1            {uint64 = 0x9a160157f04fb800, v2_int32 = {0xf04fb800,
     0x9a160157}, v4_int16 = {0xb800, 0xf04f, 0x157, 0x9a16}, v8_int8 =
 {0x0,
     0xb8, 0x4f, 0xf0, 0x57, 0x1, 0x16, 0x9a}}
 mm2            {uint64 = 0x9a160157f04fb800, v2_int32 = {0xf04fb800,
     0x9a160157}, v4_int16 = {0xb800, 0xf04f, 0x157, 0x9a16}, v8_int8 =
 {0x0,
     0xb8, 0x4f, 0xf0, 0x57, 0x1, 0x16, 0x9a}}
 mm3            {uint64 = 0x9cefba2cbd982800, v2_int32 = {0xbd982800,
     0x9cefba2c}, v4_int16 = {0x2800, 0xbd98, 0xba2c, 0x9cef}, v8_int8 =
 {0x0,
     0x28, 0x98, 0xbd, 0x2c, 0xba, 0xef, 0x9c}}
 mm4            {uint64 = 0xc92a69c000000000, v2_int32 = {0x0, 0xc92a69c0},
   v4_int16 = {0x0, 0x0, 0x69c0, 0xc92a}, v8_int8 = {0x0, 0x0, 0x0, 0x0,
 0xc0,
     0x69, 0x2a, 0xc9}}
 mm5            {uint64 = 0xf424000000000000, v2_int32 = {0x0, 0xf4240000},
   v4_int16 = {0x0, 0x0, 0x0, 0xf424}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0,
 0x0,
     0x24, 0xf4}}
 mm6            {uint64 = 0x8000000000000000, v2_int32 = {0x0, 0x80000000},
   v4_int16 = {0x0, 0x0, 0x0, 0x8000}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0,
 0x0,
 ---Type <return> to continue, or q <return> to quit---
     0x0, 0x80}}
 mm7            {uint64 = 0xb9c27795302e7000, v2_int32 = {0x302e7000,
     0xb9c27795}, v4_int16 = {0x7000, 0x302e, 0x7795, 0xb9c2}, v8_int8 =
 {0x0,
     0x70, 0x2e, 0x30, 0x95, 0x77, 0xc2, 0xb9}}
 (gdb)
 }}}

-- 
Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/1476#comment:1>
FFmpeg <http://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list