mirror of
https://github.com/tuxbox-neutrino/libstb-hal.git
synced 2025-08-26 23:13:16 +02:00
59 lines
1.2 KiB
C
59 lines
1.2 KiB
C
#ifndef OUTPUT_H_
|
|
#define OUTPUT_H_
|
|
|
|
#include <stdio.h>
|
|
#include <stdint.h>
|
|
|
|
extern "C" {
|
|
#include <libavutil/avutil.h>
|
|
#include <libavutil/time.h>
|
|
#include <libavformat/avformat.h>
|
|
#include <libswresample/swresample.h>
|
|
#include <libavutil/opt.h>
|
|
}
|
|
|
|
typedef enum {
|
|
OUTPUT_INIT,
|
|
OUTPUT_ADD,
|
|
OUTPUT_DEL,
|
|
OUTPUT_PLAY,
|
|
OUTPUT_STOP,
|
|
OUTPUT_PAUSE,
|
|
OUTPUT_OPEN,
|
|
OUTPUT_CLOSE,
|
|
OUTPUT_FLUSH,
|
|
OUTPUT_CONTINUE,
|
|
OUTPUT_FASTFORWARD,
|
|
OUTPUT_AVSYNC,
|
|
OUTPUT_CLEAR,
|
|
OUTPUT_PTS,
|
|
OUTPUT_SLOWMOTION,
|
|
OUTPUT_AUDIOMUTE,
|
|
OUTPUT_REVERSE,
|
|
OUTPUT_DISCONTINUITY_REVERSE,
|
|
OUTPUT_GET_FRAME_COUNT,
|
|
} OutputCmd_t;
|
|
|
|
struct Context_s;
|
|
typedef struct Context_s Context_t;
|
|
|
|
typedef struct Output_s {
|
|
const char *Name;
|
|
int (*Command) (Context_t *, OutputCmd_t, const char *);
|
|
bool (*Write) (AVFormatContext *avfc, AVStream *stream, AVPacket *packet, int64_t &Pts);
|
|
const char **Capabilities;
|
|
|
|
} Output_t;
|
|
|
|
extern Output_t LinuxDvbOutput;
|
|
extern Output_t SubtitleOutput;
|
|
|
|
typedef struct OutputHandler_s {
|
|
const char *Name;
|
|
Output_t *audio;
|
|
Output_t *video;
|
|
int (*Command) (Context_t *, OutputCmd_t, const char *);
|
|
} OutputHandler_t;
|
|
|
|
#endif
|