libavformat/mmsh.c File Reference

#include <string.h>
#include "libavutil/intreadwrite.h"
#include "libavutil/avstring.h"
#include "libavutil/opt.h"
#include "internal.h"
#include "mms.h"
#include "asf.h"
#include "http.h"
#include "url.h"

Go to the source code of this file.

Data Structures

struct  MMSHContext

Defines

#define CHUNK_HEADER_LENGTH   4
#define EXT_HEADER_LENGTH   8
#define USERAGENT   "User-Agent: NSPlayer/4.1.0.3856\r\n"
#define CLIENTGUID   "Pragma: xClientGUID={c77e7400-738a-11d2-9add-0020af0a3278}\r\n"

Enumerations

enum  ChunkType { CHUNK_TYPE_DATA = 0x4424, CHUNK_TYPE_ASF_HEADER = 0x4824, CHUNK_TYPE_END = 0x4524, CHUNK_TYPE_STREAM_CHANGE = 0x4324 }

Functions

static int mmsh_close (URLContext *h)
static ChunkType get_chunk_header (MMSHContext *mmsh, int *len)
static int read_data_packet (MMSHContext *mmsh, const int len)
static int get_http_header_data (MMSHContext *mmsh)
static int mmsh_open_internal (URLContext *h, const char *uri, int flags, int timestamp, int64_t pos)
static int mmsh_open (URLContext *h, const char *uri, int flags)
static int handle_chunk_type (MMSHContext *mmsh)
static int mmsh_read (URLContext *h, uint8_t *buf, int size)
static int64_t mmsh_read_seek (URLContext *h, int stream_index, int64_t timestamp, int flags)
static int64_t mmsh_seek (URLContext *h, int64_t pos, int whence)

Variables

URLProtocol ff_mmsh_protocol


Define Documentation

#define CHUNK_HEADER_LENGTH   4

Definition at line 38 of file mmsh.c.

Referenced by get_chunk_header().

#define CLIENTGUID   "Pragma: xClientGUID={c77e7400-738a-11d2-9add-0020af0a3278}\r\n"

Definition at line 45 of file mmsh.c.

Referenced by mmsh_open_internal().

#define EXT_HEADER_LENGTH   8

Definition at line 39 of file mmsh.c.

Referenced by get_chunk_header().

#define USERAGENT   "User-Agent: NSPlayer/4.1.0.3856\r\n"

Definition at line 42 of file mmsh.c.

Referenced by mmsh_open_internal().


Enumeration Type Documentation

enum ChunkType

Enumerator:
CHUNK_TYPE_DATA 
CHUNK_TYPE_ASF_HEADER 
CHUNK_TYPE_END 
CHUNK_TYPE_STREAM_CHANGE 

Definition at line 50 of file mmsh.c.


Function Documentation

static ChunkType get_chunk_header ( MMSHContext mmsh,
int *  len 
) [static]

Definition at line 75 of file mmsh.c.

Referenced by get_http_header_data(), and handle_chunk_type().

static int get_http_header_data ( MMSHContext mmsh  )  [static]

Definition at line 144 of file mmsh.c.

Referenced by handle_chunk_type(), and mmsh_open_internal().

static int handle_chunk_type ( MMSHContext mmsh  )  [static]

Definition at line 322 of file mmsh.c.

Referenced by mmsh_read().

static int mmsh_close ( URLContext h  )  [static]

Definition at line 64 of file mmsh.c.

Referenced by mmsh_open_internal().

static int mmsh_open ( URLContext h,
const char *  uri,
int  flags 
) [static]

Definition at line 317 of file mmsh.c.

static int mmsh_open_internal ( URLContext h,
const char *  uri,
int  flags,
int  timestamp,
int64_t  pos 
) [static]

Definition at line 214 of file mmsh.c.

Referenced by mmsh_open(), and mmsh_read_seek().

static int mmsh_read ( URLContext h,
uint8_t *  buf,
int  size 
) [static]

Definition at line 350 of file mmsh.c.

static int64_t mmsh_read_seek ( URLContext h,
int  stream_index,
int64_t  timestamp,
int  flags 
) [static]

Definition at line 368 of file mmsh.c.

static int64_t mmsh_seek ( URLContext h,
int64_t  pos,
int  whence 
) [static]

Definition at line 391 of file mmsh.c.

static int read_data_packet ( MMSHContext mmsh,
const int  len 
) [static]

Definition at line 116 of file mmsh.c.

Referenced by get_http_header_data(), and handle_chunk_type().


Variable Documentation

Initial value:

 {
    .name           = "mmsh",
    .url_open       = mmsh_open,
    .url_read       = mmsh_read,
    .url_seek       = mmsh_seek,
    .url_close      = mmsh_close,
    .url_read_seek  = mmsh_read_seek,
    .priv_data_size = sizeof(MMSHContext),
}

Definition at line 401 of file mmsh.c.


Generated on Fri Oct 26 02:43:52 2012 for FFmpeg by  doxygen 1.5.8