VLC  4.0.0-dev
pcm.c File Reference

Real-Time Protocol (RTP) sample-based audio This files defines the same-based RTP payload formats (mostly from RFC3551) including linear, logarithmic and adaptive audio formats. More...

Include dependency graph for pcm.c:

Data Structures

struct  rtp_pcm
 

Macros

#define RTP_MAX_CHANS   6
 

Functions

static void * rtp_pcm_init (struct vlc_rtp_pt *pt)
 
static void rtp_pcm_destroy (struct vlc_rtp_pt *pt, void *data)
 
static void rtp_pcm_reorder (void *restrict out, const void *restrict in, size_t frames, size_t sample_size, size_t channels, const uint8_t *restrict map)
 
static void rtp_pcm_decode (struct vlc_rtp_pt *pt, void *data, block_t *block, const struct vlc_rtp_pktinfo *restrict info)
 
static void rtp_pcm_release (struct vlc_rtp_pt *pt)
 
static void * rtp_g722_init (struct vlc_rtp_pt *pt)
 
static void * rtp_g726_init (struct vlc_rtp_pt *pt)
 
static int rtp_pcm_open (vlc_object_t *obj, struct vlc_rtp_pt *pt, const struct vlc_sdp_pt *desc)
 
int vlc_entry__MODULE_NAME (vlc_set_cb vlc_set, void *opaque)
 
const char * vlc_entry_api_version__MODULE_NAME (void)
 

Variables

static const struct vlc_rtp_pt_operations rtp_pcm_ops
 
static const struct vlc_rtp_pt_operations rtp_g722_ops
 
static const struct vlc_rtp_pt_operations rtp_g726_ops
 
static const uint32_t channel_masks []
 
static const uint32_t channel_order []
 
static const uint32_t channel_order_3 [6]
 

Detailed Description

Real-Time Protocol (RTP) sample-based audio This files defines the same-based RTP payload formats (mostly from RFC3551) including linear, logarithmic and adaptive audio formats.

Macro Definition Documentation

◆ RTP_MAX_CHANS

#define RTP_MAX_CHANS   6

Function Documentation

◆ rtp_g722_init()

◆ rtp_g726_init()

◆ rtp_pcm_decode()

◆ rtp_pcm_destroy()

static void rtp_pcm_destroy ( struct vlc_rtp_pt pt,
void *  data 
)
static

References vlc_rtp_es_destroy().

◆ rtp_pcm_init()

◆ rtp_pcm_open()

◆ rtp_pcm_release()

static void rtp_pcm_release ( struct vlc_rtp_pt pt)
static

◆ rtp_pcm_reorder()

static void rtp_pcm_reorder ( void *restrict  out,
const void *restrict  in,
size_t  frames,
size_t  sample_size,
size_t  channels,
const uint8_t *restrict  map 
)
static

References vlc_assert_unreachable.

Referenced by rtp_pcm_decode().

◆ vlc_entry__MODULE_NAME()

int vlc_entry__MODULE_NAME ( vlc_set_cb  vlc_set,
void *  opaque 
)

◆ vlc_entry_api_version__MODULE_NAME()

const char* vlc_entry_api_version__MODULE_NAME ( void  )

Variable Documentation

◆ channel_masks

const uint32_t channel_masks[]
static
Initial value:
= {
0x1 ,
0x1 , ( ( 0x2 | 0x4 ) ) , ( ( 0x2 | 0x4 ) | 0x1 ) , ( ( ( 0x2 | 0x4 ) | 0x1 ) | 0x1000 ) ,
( ( ( 0x2 | 0x4 ) | ( 0x20 | 0x40 ) ) | 0x1 ) ,
( ( ( ( 0x2 | 0x4 ) | ( 0x20 | 0x40 ) ) | 0x1 ) | 0x1000 ) ,
}

Referenced by rtp_pcm_open().

◆ channel_order

const uint32_t channel_order[]
static
Initial value:
= {
0x2 , 0x20 , 0x1 ,
0x4 , 0x40 , 0x1000 , 0,
}

Referenced by ModuleThread_NewSpuBuffer(), and rtp_pcm_open().

◆ channel_order_3

const uint32_t channel_order_3[6]
static
Initial value:
= {
0x2 , 0x4 , 0x1 ,
}

Referenced by rtp_pcm_open().

◆ rtp_g722_ops

const struct vlc_rtp_pt_operations rtp_g722_ops
static
Initial value:
= {
}
static void rtp_pcm_decode(struct vlc_rtp_pt *pt, void *data, block_t *block, const struct vlc_rtp_pktinfo *restrict info)
Definition: pcm.c:93
static void rtp_pcm_destroy(struct vlc_rtp_pt *pt, void *data)
Definition: pcm.c:64
static void rtp_pcm_release(struct vlc_rtp_pt *pt)
Definition: pcm.c:130
static void * rtp_g722_init(struct vlc_rtp_pt *pt)
Definition: pcm.c:142

Referenced by rtp_pcm_open().

◆ rtp_g726_ops

const struct vlc_rtp_pt_operations rtp_g726_ops
static
Initial value:
= {
}
static void * rtp_g726_init(struct vlc_rtp_pt *pt)
Definition: pcm.c:162

Referenced by rtp_pcm_open().

◆ rtp_pcm_ops

const struct vlc_rtp_pt_operations rtp_pcm_ops
static
Initial value:
= {
}
static void * rtp_pcm_init(struct vlc_rtp_pt *pt)
Definition: pcm.c:51

Referenced by rtp_pcm_open().