FFmpegfs Fuse Multi Media Filesystem 2.16
Classes | Macros | Typedefs | Enumerations
fileio.h File Reference

FileIO class. More...

#include <sys/stat.h>
#include <string>
#include <vector>
#include <map>
#include <cstring>
#include <memory>
#include <array>
#include <libavutil/avutil.h>
Include dependency graph for fileio.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  IMAGE_FRAME
 Image frame header. More...
 
struct  VIRTUALFILE
 Virtual file definition. More...
 
struct  VIRTUALFILE::VCD_CHAPTER
 Extra value structure for Video CDs. More...
 
struct  VIRTUALFILE::DVD_CHAPTER
 Extra value structure for DVDs. More...
 
struct  VIRTUALFILE::BLURAY_CHAPTER
 Extra value structure for Blu-ray disks. More...
 
struct  VIRTUALFILE::CUESHEET_TRACK
 Extra value structure for cue sheets. More...
 
class  FileIO
 Base class for I/O. More...
 

Macros

#define IMAGE_FRAME_TAG   "IMGFRAME"
 Tag of an image frame header for the frame images buffer. More...
 
#define VIRTUALFLAG_NONE   0x00000000
 No flags. More...
 
#define VIRTUALFLAG_PASSTHROUGH   0x00000001
 passthrough file, not used More...
 
#define VIRTUALFLAG_DIRECTORY   0x00000002
 File is a virtual directory. More...
 
#define VIRTUALFLAG_FILESET   0x00000004
 File is file set (images, HLS) More...
 
#define VIRTUALFLAG_FRAME   0x00000008
 File is part of a set of frames. More...
 
#define VIRTUALFLAG_HLS   0x00000010
 File is part of a set of HLS transport stream (ts) files. More...
 
#define VIRTUALFLAG_CUESHEET   0x00000020
 File is part of a set of cue sheet tracks or the directory. More...
 
#define VIRTUALFLAG_HIDDEN   0x00000040
 File is not transcodable or should otherwise show in listings. More...
 

Typedefs

typedef struct IMAGE_FRAME IMAGE_FRAME
 Image frame header. More...
 
typedef IMAGE_FRAME const * LPCIMAGE_FRAME
 Pointer version of IMAGE_FRAME. More...
 
typedef IMAGE_FRAMELPIMAGE_FRAME
 Pointer to const version of IMAGE_FRAME. More...
 
typedef VIRTUALTYPE const * LPCVIRTUALTYPE
 Pointer version of VIRTUALTYPE. More...
 
typedef VIRTUALTYPE LPVIRTUALTYPE
 Pointer to const version of VIRTUALTYPE. More...
 
typedef struct VIRTUALFILE VIRTUALFILE
 Virtual file definition.
 
typedef VIRTUALFILE const * LPCVIRTUALFILE
 Pointer to const version of VIRTUALFILE. More...
 
typedef VIRTUALFILELPVIRTUALFILE
 Pointer version of VIRTUALFILE. More...
 

Enumerations

enum class  VIRTUALTYPE {
  PASSTHROUGH , DISK , SCRIPT , VCD ,
  DVD , BLURAY , BUFFER
}
 Virtual file types enum. More...
 

Detailed Description

FileIO class.

This class allows transparent access to files from DVD, Blu-ray, Video CD or to regular disk files.

Author
Norbert Schlia (nschl.nosp@m.ia@o.nosp@m.blivi.nosp@m.on-s.nosp@m.oftwa.nosp@m.re.d.nosp@m.e)

Definition in file fileio.h.

Macro Definition Documentation

◆ IMAGE_FRAME_TAG

#define IMAGE_FRAME_TAG   "IMGFRAME"

Tag of an image frame header for the frame images buffer.

Definition at line 68 of file fileio.h.

◆ VIRTUALFLAG_CUESHEET

#define VIRTUALFLAG_CUESHEET   0x00000020

File is part of a set of cue sheet tracks or the directory.

Definition at line 117 of file fileio.h.

◆ VIRTUALFLAG_DIRECTORY

#define VIRTUALFLAG_DIRECTORY   0x00000002

File is a virtual directory.

Definition at line 113 of file fileio.h.

◆ VIRTUALFLAG_FILESET

#define VIRTUALFLAG_FILESET   0x00000004

File is file set (images, HLS)

Definition at line 114 of file fileio.h.

◆ VIRTUALFLAG_FRAME

#define VIRTUALFLAG_FRAME   0x00000008

File is part of a set of frames.

Definition at line 115 of file fileio.h.

◆ VIRTUALFLAG_HIDDEN

#define VIRTUALFLAG_HIDDEN   0x00000040

File is not transcodable or should otherwise show in listings.

Definition at line 118 of file fileio.h.

◆ VIRTUALFLAG_HLS

#define VIRTUALFLAG_HLS   0x00000010

File is part of a set of HLS transport stream (ts) files.

Definition at line 116 of file fileio.h.

◆ VIRTUALFLAG_NONE

#define VIRTUALFLAG_NONE   0x00000000

No flags.

Definition at line 111 of file fileio.h.

◆ VIRTUALFLAG_PASSTHROUGH

#define VIRTUALFLAG_PASSTHROUGH   0x00000001

passthrough file, not used

Definition at line 112 of file fileio.h.

Typedef Documentation

◆ IMAGE_FRAME

typedef struct IMAGE_FRAME IMAGE_FRAME

Image frame header.

This image frame header will always start at an 8K boundary of the cache.

It can be used to find the next image by seeking an 8K block starting with the tag.

◆ LPCIMAGE_FRAME

typedef IMAGE_FRAME const* LPCIMAGE_FRAME

Pointer version of IMAGE_FRAME.

Definition at line 86 of file fileio.h.

◆ LPCVIRTUALFILE

typedef VIRTUALFILE const* LPCVIRTUALFILE

Pointer to const version of VIRTUALFILE.

Definition at line 254 of file fileio.h.

◆ LPCVIRTUALTYPE

typedef VIRTUALTYPE const* LPCVIRTUALTYPE

Pointer version of VIRTUALTYPE.

Definition at line 108 of file fileio.h.

◆ LPIMAGE_FRAME

Pointer to const version of IMAGE_FRAME.

Definition at line 87 of file fileio.h.

◆ LPVIRTUALFILE

Pointer version of VIRTUALFILE.

Definition at line 255 of file fileio.h.

◆ LPVIRTUALTYPE

Pointer to const version of VIRTUALTYPE.

Definition at line 109 of file fileio.h.

Enumeration Type Documentation

◆ VIRTUALTYPE

enum class VIRTUALTYPE
strong

Virtual file types enum.

Enumerator
PASSTHROUGH 

passthrough file, not used

DISK 

Regular disk file to transcode.

SCRIPT 

Virtual script.

VCD 

Video CD file.

DVD 

DVD file.

BLURAY 

Blu-ray disk file.

BUFFER 

Buffer file.

Definition at line 91 of file fileio.h.