[rtmpdump] rtmpdump broken with bbc since r33

murble-rtmpdump at yuri.org.uk murble-rtmpdump at yuri.org.uk
Tue Nov 10 01:49:00 CET 2009


Hi,

I have found that with the current version I am unable to use
get_iplayer.

Built with:
gcc -v
Using built-in specs.
Target: i486-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.4.1-4ubuntu8' --with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared --enable-multiarch --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.4 --program-suffix=-4.4 --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --enable-targets=all --disable-werror --with-arch-32=i486 --with-tune=generic --enable-checking=release --build=i486-linux-gnu --host=i486-linux-gnu --target=i486-linux-gnu
Thread model: posix
gcc version 4.4.1 (Ubuntu 4.4.1-4ubuntu8)

The most recent working version of rtmpdump is r32


# works
../rtmpdump-r32/rtmpdump --port 1935 --protocol 0 --playpath "mp4:iplayerstream/secure_auth/b000nx0x4H264135169549?s=1257769214&e=1257855614&h=dd90581db5e7dd114d17e2002cf44d9a" --host bbcmedia.fcod.llnwd.net --swfUrl http://www.bbc.co.uk/emp/10player.swf?revision=14200_14320 --tcUrl rtmp://bbcmedia.fcod.llnwd.net:1935/a1414/e3 --app a1414/e3 --resume -o /home/murble/svn/rtmpdump/The_Secret_Life_of_the_Berlin_Wall_-_The_Secret_Life_of_the_Berlin_Wall_b00nx0y6_default.partial.mp4.flv --timeout 10 --verbose


# fails
../rtmpdump-r32/rtmpdump --port 1935 --protocol 0 --playpath mp4:iplayerstream/secure_auth/b000nx0x4H264135169549?s=1257769214&e=1257855614&h=dd90581db5e7dd114d17e2002cf44d9a --host bbcmedia.fcod.llnwd.net --swfUrl http://www.bbc.co.uk/emp/10player.swf?revision=14200_14320 --tcUrl rtmp://bbcmedia.fcod.llnwd.net:1935/a1414/e3 --app a1414/e3 --resume -o /home/murble/svn/rtmpdump/The_Secret_Life_of_the_Berlin_Wall_-_The_Secret_Life_of_the_Berlin_Wall_b00nx0y6_default.partial.mp4.flv --timeout 10 --verbose

and sometimes segfaults:

Core was generated by `./rtmpdump --port 1935 --protocol 0 --playpath mp4:iplayerstream/secure_auth/b0'.
Program terminated with signal 11, Segmentation fault.
#0  __exchange_and_add_single (this=0xb75a303c, __position=...)
    at /usr/include/c++/4.4/ext/atomicity.h:64
64          _Atomic_word __result = *__mem;
(gdb) bt
#0  __exchange_and_add_single (this=0xb75a303c, __position=...)
    at /usr/include/c++/4.4/ext/atomicity.h:64
#1  __exchange_and_add_dispatch (this=0xb75a303c, __position=...)
    at /usr/include/c++/4.4/ext/atomicity.h:81
#2  std::string::_Rep::_M_dispose (this=0xb75a303c, __position=...)
    at /usr/include/c++/4.4/bits/basic_string.h:229
#3  ~basic_string (this=0xb75a303c, __position=...)
    at /usr/include/c++/4.4/bits/basic_string.h:498
#4  __gnu_cxx::new_allocator<std::string>::destroy (this=0xb75a303c, 
    __position=...) at /usr/include/c++/4.4/ext/new_allocator.h:115
#5  std::vector<std::string, std::allocator<std::string> >::erase (
    this=0xb75a303c, __position=...) at /usr/include/c++/4.4/bits/vector.tcc:139
#6  0x0804e0fb in RTMP_LIB::CRTMP::HandleInvoke (this=0xb75a3008, 
    body=0x88eaa06 "\002", nBodySize=20) at rtmp.cpp:1058
#7  0x0804f6c2 in RTMP_LIB::CRTMP::HandlePacket (this=0xb75a3008, packet=...)
    at rtmp.cpp:515
#8  0x0804f894 in RTMP_LIB::CRTMP::GetNextMediaPacket (this=0xb75a3008, packet=...)
    at rtmp.cpp:416
#9  0x08055451 in WriteStream (rtmp=0xb75a3008, buf=0xbfcd4964, len=1048576, 
    tsm=0xbfcd4968, bResume=false, bLiveStream=false, nResumeTS=0, metaHeader=0x0, 
    nMetaHeaderSize=0, initialFrame=0x0, initialFrameType=0 '\000', 
    nInitialFrameSize=0, dataType=0xbfcd496f "\005") at rtmpdump.cpp:156
#10 0x08055e85 in Download (rtmp=0xb75a3008, file=0x88e9010, dSeek=0, dLength=0, 
    duration=0, bResume=false, metaHeader=0x0, nMetaHeaderSize=0, 
    initialFrame=0x0, initialFrameType=<value optimised out>, nInitialFrameSize=0, 
    nSkipKeyFrames=0, bStdoutMode=false, bLiveStream=false, bHashes=false, 
    bOverrideBufferTime=false, bufferTime=36000000, percent=0xbfcd4c40)
    at rtmpdump.cpp:791
#11 0x08057093 in main (argc=21, argv=0xbfcd4f54) at rtmpdump.cpp:1397

and always fails.

Apparently the r35 version works with other people so maybe it
is just something weird with my setup here.

std-error from the above available at http://www.yuri.org.uk/~murble/rtmpdump/

regards

murble


More information about the rtmpdump mailing list