Changeset 6d004778d445e1666c33b6ea4515a32428218e05

Show
Ignore:
Timestamp:
04/06/08 22:06:32 (6 months ago)
Author:
Rémi Denis-Courmont <rdenis@simphalempin.com>
git-committer:
Rémi Denis-Courmont <rdenis@simphalempin.com> 1212609992 +0300
git-parent:

[8235fe322236b1e1270caae42da9c2591ea0263f]

git-author:
Rémi Denis-Courmont <rdenis@simphalempin.com> 1212609987 +0300
Message:

RTP: support for pulse code modulation

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • modules/demux/rtp.c

    r7636ace r6d00477  
    340340 
    341341/* PT=0 
    342  * PCMU: 
     342 * PCMU: G.711 µ-law (RFC3551) 
    343343 */ 
    344344static void *pcmu_init (demux_t *demux) 
     
    353353 
    354354/* PT=8 
    355  * PCMA: 
     355 * PCMA: G.711 A-law (RFC3551) 
    356356 */ 
    357357static void *pcma_init (demux_t *demux) 
     
    365365} 
    366366 
     367/* PT=10,11 
     368 * L16: 16-bits (network byte order) PCM 
     369 */ 
     370static void *l16s_init (demux_t *demux) 
     371{ 
     372    es_format_t fmt; 
     373 
     374    es_format_Init (&fmt, AUDIO_ES, VLC_FOURCC ('s', '1', '6', 'b')); 
     375    fmt.audio.i_rate = 44100; 
     376    fmt.audio.i_channels = 2; 
     377    return codec_init (demux, &fmt); 
     378} 
     379 
     380static void *l16m_init (demux_t *demux) 
     381{ 
     382    es_format_t fmt; 
     383 
     384    es_format_Init (&fmt, AUDIO_ES, VLC_FOURCC ('s', '1', '6', 'b')); 
     385    fmt.audio.i_rate = 44100; 
     386    fmt.audio.i_channels = 1; 
     387    return codec_init (demux, &fmt); 
     388} 
     389 
    367390/* PT=14 
    368391 * MPA: MPEG Audio (RFC2250, §3.4) 
     
    450473    { 
    451474        /* Not using SDP, we need to guess the payload format used */ 
     475        /* see http://www.iana.org/assignments/rtp-parameters */ 
    452476        if (p_sys->autodetect && block->i_buffer >= 2) 
    453477        { 
     
    472496                pt.init = pcma_init; 
    473497                pt.frequency = 8000; 
     498                break; 
     499 
     500              case 10: 
     501                msg_Dbg (demux, "detected stereo PCM"); 
     502                pt.init = l16s_init; 
     503                pt.frequency = 44100; 
     504                break; 
     505 
     506              case 11: 
     507                msg_Dbg (demux, "detected mono PCM"); 
     508                pt.init = l16m_init; 
     509                pt.frequency = 44100; 
    474510                break; 
    475511