xine-lib 1.2.11
Data Structures | Macros | Functions
rmff.h File Reference
#include <sys/types.h>
#include <unistd.h>
#include <stdio.h>
#include <fcntl.h>
#include <stdlib.h>
#include <string.h>
#include <inttypes.h>
#include <xine/attributes.h>

Go to the source code of this file.

Data Structures

struct  rmff_fileheader_t
 
struct  rmff_prop_t
 
struct  rmff_mdpr_t
 
struct  rmff_cont_t
 
struct  rmff_data_t
 
struct  rmff_header_t
 
struct  rmff_pheader_t
 

Macros

#define HAVE_RMFF_H
 
#define RMFF_HEADER_SIZE   0x12
 
#define RMFF_FILEHEADER_SIZE   18
 
#define RMFF_PROPHEADER_SIZE   50
 
#define RMFF_MDPRHEADER_SIZE   46
 
#define RMFF_CONTHEADER_SIZE   18
 
#define RMFF_DATAHEADER_SIZE   18
 
#define FOURCC_TAG(ch0, ch1, ch2, ch3)
 
#define RMF_TAG   FOURCC_TAG('.', 'R', 'M', 'F')
 
#define PROP_TAG   FOURCC_TAG('P', 'R', 'O', 'P')
 
#define MDPR_TAG   FOURCC_TAG('M', 'D', 'P', 'R')
 
#define CONT_TAG   FOURCC_TAG('C', 'O', 'N', 'T')
 
#define DATA_TAG   FOURCC_TAG('D', 'A', 'T', 'A')
 
#define INDX_TAG   FOURCC_TAG('I', 'N', 'D', 'X')
 
#define PNA_TAG   FOURCC_TAG('P', 'N', 'A', 0 )
 
#define MLTI_TAG   FOURCC_TAG('M', 'L', 'T', 'I')
 
#define PN_SAVE_ENABLED   0x01
 
#define PN_PERFECT_PLAY_ENABLED   0x02
 
#define PN_LIVE_BROADCAST   0x04
 

Functions

rmff_fileheader_trmff_new_fileheader (uint32_t num_headers)
 
rmff_prop_trmff_new_prop (uint32_t max_bit_rate, uint32_t avg_bit_rate, uint32_t max_packet_size, uint32_t avg_packet_size, uint32_t num_packets, uint32_t duration, uint32_t preroll, uint32_t index_offset, uint32_t data_offset, uint16_t num_streams, uint16_t flags)
 
rmff_mdpr_trmff_new_mdpr (uint16_t stream_number, uint32_t max_bit_rate, uint32_t avg_bit_rate, uint32_t max_packet_size, uint32_t avg_packet_size, uint32_t start_time, uint32_t preroll, uint32_t duration, const char *stream_name, const char *mime_type, uint32_t type_specific_len, const char *type_specific_data)
 
rmff_cont_trmff_new_cont (const char *title, const char *author, const char *copyright, const char *comment)
 
rmff_data_trmff_new_dataheader (uint32_t num_packets, uint32_t next_data_header)
 
rmff_header_trmff_scan_header (const char *data)
 
void rmff_fix_header (rmff_header_t *h)
 
int rmff_dump_header (rmff_header_t *h, void *buffer, int max)
 
void rmff_dump_pheader (rmff_pheader_t *h, uint8_t *data)
 

Macro Definition Documentation

◆ CONT_TAG

#define CONT_TAG   FOURCC_TAG('C', 'O', 'N', 'T')

◆ DATA_TAG

#define DATA_TAG   FOURCC_TAG('D', 'A', 'T', 'A')

◆ FOURCC_TAG

#define FOURCC_TAG (   ch0,
  ch1,
  ch2,
  ch3 
)
Value:
(((long)(unsigned char)(ch3) ) | \
( (long)(unsigned char)(ch2) << 8 ) | \
( (long)(unsigned char)(ch1) << 16 ) | \
( (long)(unsigned char)(ch0) << 24 ) )

◆ HAVE_RMFF_H

#define HAVE_RMFF_H

◆ INDX_TAG

#define INDX_TAG   FOURCC_TAG('I', 'N', 'D', 'X')

◆ MDPR_TAG

#define MDPR_TAG   FOURCC_TAG('M', 'D', 'P', 'R')

◆ MLTI_TAG

#define MLTI_TAG   FOURCC_TAG('M', 'L', 'T', 'I')

◆ PN_LIVE_BROADCAST

#define PN_LIVE_BROADCAST   0x04

◆ PN_PERFECT_PLAY_ENABLED

#define PN_PERFECT_PLAY_ENABLED   0x02

◆ PN_SAVE_ENABLED

#define PN_SAVE_ENABLED   0x01

◆ PNA_TAG

#define PNA_TAG   FOURCC_TAG('P', 'N', 'A', 0 )

◆ PROP_TAG

#define PROP_TAG   FOURCC_TAG('P', 'R', 'O', 'P')

◆ RMF_TAG

#define RMF_TAG   FOURCC_TAG('.', 'R', 'M', 'F')

◆ RMFF_CONTHEADER_SIZE

#define RMFF_CONTHEADER_SIZE   18

◆ RMFF_DATAHEADER_SIZE

#define RMFF_DATAHEADER_SIZE   18

◆ RMFF_FILEHEADER_SIZE

#define RMFF_FILEHEADER_SIZE   18

◆ RMFF_HEADER_SIZE

#define RMFF_HEADER_SIZE   0x12

◆ RMFF_MDPRHEADER_SIZE

#define RMFF_MDPRHEADER_SIZE   46

◆ RMFF_PROPHEADER_SIZE

#define RMFF_PROPHEADER_SIZE   50

Function Documentation

◆ rmff_dump_header()

int rmff_dump_header ( rmff_header_t h,
void *  buffer,
int  max 
)

◆ rmff_dump_pheader()

void rmff_dump_pheader ( rmff_pheader_t h,
uint8_t *  data 
)

◆ rmff_fix_header()

void rmff_fix_header ( rmff_header_t h)

◆ rmff_new_cont()

rmff_cont_t * rmff_new_cont ( const char *  title,
const char *  author,
const char *  copyright,
const char *  comment 
)

◆ rmff_new_dataheader()

rmff_data_t * rmff_new_dataheader ( uint32_t  num_packets,
uint32_t  next_data_header 
)

◆ rmff_new_fileheader()

rmff_fileheader_t * rmff_new_fileheader ( uint32_t  num_headers)

◆ rmff_new_mdpr()

rmff_mdpr_t * rmff_new_mdpr ( uint16_t  stream_number,
uint32_t  max_bit_rate,
uint32_t  avg_bit_rate,
uint32_t  max_packet_size,
uint32_t  avg_packet_size,
uint32_t  start_time,
uint32_t  preroll,
uint32_t  duration,
const char *  stream_name,
const char *  mime_type,
uint32_t  type_specific_len,
const char *  type_specific_data 
)

◆ rmff_new_prop()

rmff_prop_t * rmff_new_prop ( uint32_t  max_bit_rate,
uint32_t  avg_bit_rate,
uint32_t  max_packet_size,
uint32_t  avg_packet_size,
uint32_t  num_packets,
uint32_t  duration,
uint32_t  preroll,
uint32_t  index_offset,
uint32_t  data_offset,
uint16_t  num_streams,
uint16_t  flags 
)

◆ rmff_scan_header()

rmff_header_t * rmff_scan_header ( const char *  data)