FFmpeg  4.0
Data Structures | Macros | Functions | Variables
bluray.c File Reference
#include <libbluray/bluray.h>
#include "libavutil/avstring.h"
#include "libavformat/avformat.h"
#include "libavformat/url.h"
#include "libavutil/opt.h"

Go to the source code of this file.

Data Structures

struct  BlurayContext
 

Macros

#define BLURAY_PROTO_PREFIX   "bluray:"
 
#define MIN_PLAYLIST_LENGTH   180 /* 3 min */
 
#define OFFSET(x)   offsetof(BlurayContext, x)
 

Functions

static int check_disc_info (URLContext *h)
 
static int bluray_close (URLContext *h)
 
static int bluray_open (URLContext *h, const char *path, int flags)
 
static int bluray_read (URLContext *h, unsigned char *buf, int size)
 
static int64_t bluray_seek (URLContext *h, int64_t pos, int whence)
 

Variables

static const AVOption options []
 
static const AVClass bluray_context_class
 
const URLProtocol ff_bluray_protocol
 

Macro Definition Documentation

◆ BLURAY_PROTO_PREFIX

#define BLURAY_PROTO_PREFIX   "bluray:"

Definition at line 30 of file bluray.c.

Referenced by bluray_open().

◆ MIN_PLAYLIST_LENGTH

#define MIN_PLAYLIST_LENGTH   180 /* 3 min */

Definition at line 31 of file bluray.c.

Referenced by bluray_open().

◆ OFFSET

#define OFFSET (   x)    offsetof(BlurayContext, x)

Definition at line 44 of file bluray.c.

Function Documentation

◆ check_disc_info()

static int check_disc_info ( URLContext h)
static

Definition at line 61 of file bluray.c.

Referenced by bluray_open().

◆ bluray_close()

static int bluray_close ( URLContext h)
static

Definition at line 104 of file bluray.c.

◆ bluray_open()

static int bluray_open ( URLContext h,
const char *  path,
int  flags 
)
static

Definition at line 114 of file bluray.c.

◆ bluray_read()

static int bluray_read ( URLContext h,
unsigned char *  buf,
int  size 
)
static

Definition at line 190 of file bluray.c.

◆ bluray_seek()

static int64_t bluray_seek ( URLContext h,
int64_t  pos,
int  whence 
)
static

Definition at line 204 of file bluray.c.

Variable Documentation

◆ options

const AVOption options[]
static
Initial value:
= {
{"playlist", "", OFFSET(playlist), AV_OPT_TYPE_INT, { .i64=-1 }, -1, 99999, AV_OPT_FLAG_DECODING_PARAM },
{"angle", "", OFFSET(angle), AV_OPT_TYPE_INT, { .i64=0 }, 0, 0xfe, AV_OPT_FLAG_DECODING_PARAM },
{"chapter", "", OFFSET(chapter), AV_OPT_TYPE_INT, { .i64=1 }, 1, 0xfffe, AV_OPT_FLAG_DECODING_PARAM },
}
#define NULL
Definition: coverity.c:32
Definition: hls.c:93
#define OFFSET(x)
Definition: bluray.c:44
#define AV_OPT_FLAG_DECODING_PARAM
a generic parameter which can be set by the user for demuxing or decoding
Definition: opt.h:277

Definition at line 45 of file bluray.c.

◆ bluray_context_class

const AVClass bluray_context_class
static
Initial value:
= {
.class_name = "bluray",
.item_name = av_default_item_name,
.option = options,
}
#define LIBAVUTIL_VERSION_INT
Definition: version.h:85
const char * av_default_item_name(void *ptr)
Return the context name.
Definition: log.c:191
static const AVOption options[]
Definition: bluray.c:45

Definition at line 53 of file bluray.c.

◆ ff_bluray_protocol

const URLProtocol ff_bluray_protocol
Initial value:
= {
.name = "bluray",
.url_close = bluray_close,
.url_open = bluray_open,
.url_read = bluray_read,
.url_seek = bluray_seek,
.priv_data_size = sizeof(BlurayContext),
.priv_data_class = &bluray_context_class,
}
static int bluray_open(URLContext *h, const char *path, int flags)
Definition: bluray.c:114
static const AVClass bluray_context_class
Definition: bluray.c:53
static int bluray_read(URLContext *h, unsigned char *buf, int size)
Definition: bluray.c:190
static int bluray_close(URLContext *h)
Definition: bluray.c:104
static int64_t bluray_seek(URLContext *h, int64_t pos, int whence)
Definition: bluray.c:204

Definition at line 227 of file bluray.c.