Data Structures | Macros | Functions | Variables
tty.c File Reference

Tele-typewriter demuxer. More...

#include "libavutil/intreadwrite.h"
#include "libavutil/avstring.h"
#include "libavutil/log.h"
#include "libavutil/dict.h"
#include "libavutil/opt.h"
#include "libavutil/parseutils.h"
#include "avformat.h"
#include "internal.h"
#include "sauce.h"

Go to the source code of this file.

Data Structures

struct  TtyDemuxContext


#define GET_EFI_META(name, size)
#define OFFSET(x)   offsetof(TtyDemuxContext, x)


static int isansicode (int x)
static int read_probe (const AVProbeData *p)
static int efi_read (AVFormatContext *avctx, uint64_t start_pos)
 Parse EFI header. More...
static int read_header (AVFormatContext *avctx)
static int read_packet (AVFormatContext *avctx, AVPacket *pkt)


static const char tty_extensions [31] = "ans,art,asc,diz,ice,nfo,txt,vt"
static const AVOption options []
static const AVClass tty_demuxer_class
AVInputFormat ff_tty_demuxer

Detailed Description

Tele-typewriter demuxer.

Definition in file tty.c.

Macro Definition Documentation

#define GET_EFI_META (   name,
len = avio_r8(pb); \
if (len < 1 || len > size) \
if (avio_read(pb, buf, size) == size) { \
buf[len] = 0; \
av_dict_set(&avctx->metadata, name, buf, 0); \
ptrdiff_t size
Definition: opengl_enc.c:100
int avio_read(AVIOContext *s, unsigned char *buf, int size)
Read size bytes from AVIOContext into buf.
Definition: aviobuf.c:637
int avio_r8(AVIOContext *s)
Definition: aviobuf.c:628
int av_dict_set(AVDictionary **pm, const char *key, const char *value, int flags)
Set the given entry in *pm, overwriting an existing entry.
Definition: dict.c:70
int len
these buffered frames must be flushed immediately if a new input produces new the filter must not call request_frame to get more It must just process the frame or queue it The task of requesting more frames is left to the filter s request_frame method or the application If a filter has several the filter must be ready for frames arriving randomly on any input any filter with several inputs will most likely require some kind of queuing mechanism It is perfectly acceptable to have a limited queue and to drop frames when the inputs are too unbalanced request_frame For filters that do not use the this method is called when a frame is wanted on an output For a it should directly call filter_frame on the corresponding output For a if there are queued frames already one of these frames should be pushed If the filter should request a frame on one of its repeatedly until at least one frame has been pushed Return or at least make progress towards producing a it should return
const char * name
Definition: opengl_enc.c:102

Referenced by efi_read().

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

Definition at line 165 of file tty.c.


Definition at line 166 of file tty.c.

Function Documentation

static int isansicode ( int  x)

Definition at line 37 of file tty.c.

Referenced by read_probe().

static int read_probe ( const AVProbeData p)

Definition at line 52 of file tty.c.

static int efi_read ( AVFormatContext avctx,
uint64_t  start_pos 

Parse EFI header.

Definition at line 75 of file tty.c.

Referenced by read_header().

static int read_header ( AVFormatContext avctx)

Definition at line 102 of file tty.c.

static int read_packet ( AVFormatContext avctx,
AVPacket pkt 

Definition at line 138 of file tty.c.

Variable Documentation

const char tty_extensions[31] = "ans,art,asc,diz,ice,nfo,txt,vt"

Definition at line 42 of file tty.c.

Referenced by read_probe().

const AVOption options[]
Initial value:
= {
{ "chars_per_frame", "", 0x42, AV_OPT_TYPE_INT, {.i64 = 6000}, 1, INT_MAX, AV_OPT_FLAG_DECODING_PARAM},
{ "video_size", "A string describing frame size, such as 640x480 or hd720.", OFFSET(width), AV_OPT_TYPE_IMAGE_SIZE, {.str = NULL}, 0, 0, DEC },
{ "framerate", "", OFFSET(framerate), AV_OPT_TYPE_VIDEO_RATE, {.str = "25"}, 0, INT_MAX, DEC },
{ NULL },
#define NULL
Definition: coverity.c:32
int framerate
Definition: h264_levels.c:65
#define OFFSET(x)
Definition: tty.c:165
#define DEC
Definition: tty.c:166
#define width
a generic parameter which can be set by the user for demuxing or decoding
Definition: opt.h:279
offset must point to AVRational
Definition: opt.h:238
offset must point to two consecutive integers
Definition: opt.h:235

Definition at line 167 of file tty.c.

const AVClass tty_demuxer_class
Initial value:
= {
.class_name = "TTY demuxer",
.item_name = av_default_item_name,
.option = options,
Definition: version.h:85
const char * av_default_item_name(void *ptr)
Return the context name.
Definition: log.c:235
static const AVOption options[]
Definition: tty.c:167

Definition at line 174 of file tty.c.

AVInputFormat ff_tty_demuxer
Initial value:
= {
.name = "tty",
.long_name = NULL_IF_CONFIG_SMALL("Tele-typewriter"),
.priv_data_size = sizeof(TtyDemuxContext),
.extensions = tty_extensions,
.priv_class = &tty_demuxer_class,
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
Definition: internal.h:115
static int read_probe(const AVProbeData *p)
Definition: tty.c:52
static int read_header(AVFormatContext *avctx)
Definition: tty.c:102
static const AVClass tty_demuxer_class
Definition: tty.c:174
Use generic index building code.
Definition: avformat.h:463
static const char tty_extensions[31]
Definition: tty.c:42
#define flags(name, subs,...)
Definition: cbs_av1.c:561
static int read_packet(AVFormatContext *avctx, AVPacket *pkt)
Definition: tty.c:138

Definition at line 181 of file tty.c.