[vlc-devel] AMR streaming
Alex Antropoff
alant at transtelecom.md
Fri Mar 17 08:36:41 CET 2006
Hello, I've made patch, which fixes streaming amr, now it possible to see
vod streams on some Nokia models(which doesn't have AAC support,only AMR).
PS. As I see, AMR support in rtp in live555 library is broken,
ffmpeg got chunks of real amr frames,
...
[00000320] ffmpeg decoder warning: amr frame too short (10, should be 14)
(amr_nb at 0xa44a8d0)
[00000320] ffmpeg decoder warning: cannot decode one frame (10 bytes)
[00000320] ffmpeg decoder warning: amr frame too short (9, should be 14)
(amr_nb at 0x8ffd8c0)
[00000320] ffmpeg decoder warning: cannot decode one frame (9 bytes)
...
The same stream is correctly played with mobiles/other rtsp clients.
--
Regards,
Alex Antropoff
-------------- next part --------------
--- vlc-svn-20060315.orig/modules/stream_out/rtp.c 2006-03-15 01:56:47.000000000 +0200
+++ vlc-svn-20060315/modules/stream_out/rtp.c 2006-03-17 01:23:28.000000000 +0200
@@ -2335,12 +2335,12 @@
(in->i_pts > 0 ? in->i_pts : in->i_dts) );
/* Payload header */
out->p_buffer[12] = 0xF0; /* CMR */
- out->p_buffer[13] = 0x00; /* ToC */ /* FIXME: frame type */
+ out->p_buffer[13] = p_data[0]&0x7C; /* ToC */ /* FIXME: frame type */
/* FIXME: are we fed multiple frames ? */
- memcpy( &out->p_buffer[14], p_data, i_payload );
+ memcpy( &out->p_buffer[14], p_data+1, i_payload-1 );
- out->i_buffer = 14 + i_payload;
+ out->i_buffer = 14 + i_payload-1;
out->i_dts = in->i_dts + i * in->i_length / i_count;
out->i_length = in->i_length / i_count;
More information about the vlc-devel
mailing list