summaryrefslogtreecommitdiff
path: root/libavformat
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2015-11-20 03:08:34 +0100
committerMichael Niedermayer <michael@niedermayer.cc>2015-11-20 20:01:05 +0100
commit3444c00aab6e187360a5aa66216abeb15d26ddc6 (patch)
treed527da358ab65c39fb15052932d188fce36afbb5 /libavformat
parentbf2590aed3e64d44a5e2430fdbe89f91f5e55bfe (diff)
avformat/ffmdec: Add cleaner API for ffserver to interface without depending on internal ABI
Reviewed-by: Andreas Cadhalpun <andreas.cadhalpun@googlemail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavformat')
-rw-r--r--libavformat/ffm.h2
-rw-r--r--libavformat/ffmdec.c14
-rw-r--r--libavformat/version.h2
3 files changed, 17 insertions, 1 deletions
diff --git a/libavformat/ffm.h b/libavformat/ffm.h
index b392b8d8d8..c445f472f7 100644
--- a/libavformat/ffm.h
+++ b/libavformat/ffm.h
@@ -42,6 +42,7 @@ enum {
};
typedef struct FFMContext {
+ const AVClass *class;
/* only reading mode */
int64_t write_index, file_size;
int read_state;
@@ -55,6 +56,7 @@ typedef struct FFMContext {
uint8_t *packet_ptr, *packet_end;
uint8_t packet[FFM_PACKET_SIZE];
int64_t start_time;
+ int server_attached;
} FFMContext;
#endif /* AVFORMAT_FFM_H */
diff --git a/libavformat/ffmdec.c b/libavformat/ffmdec.c
index 59443b6985..c3850dbf4f 100644
--- a/libavformat/ffmdec.c
+++ b/libavformat/ffmdec.c
@@ -731,6 +731,19 @@ static int ffm_probe(AVProbeData *p)
return 0;
}
+static const AVOption options[] = {
+ {"server_attached", NULL, offsetof(FFMContext, server_attached), AV_OPT_TYPE_BOOL, {.i64 = 0}, 0, 1, AV_OPT_FLAG_EXPORT },
+ {"ffm_write_index", NULL, offsetof(FFMContext, write_index), AV_OPT_TYPE_INT64, {.i64 = 0}, 0, 1, AV_OPT_FLAG_EXPORT },
+ {"ffm_file_size", NULL, offsetof(FFMContext, file_size), AV_OPT_TYPE_INT64, {.i64 = 0}, 0, 1, AV_OPT_FLAG_EXPORT },
+ { NULL },
+};
+
+static const AVClass ffm_class = {
+ .class_name = "ffm demuxer",
+ .item_name = av_default_item_name,
+ .option = options,
+ .version = LIBAVUTIL_VERSION_INT,
+};
AVInputFormat ff_ffm_demuxer = {
.name = "ffm",
.long_name = NULL_IF_CONFIG_SMALL("FFM (FFserver live feed)"),
@@ -740,4 +753,5 @@ AVInputFormat ff_ffm_demuxer = {
.read_packet = ffm_read_packet,
.read_close = ffm_close,
.read_seek = ffm_seek,
+ .priv_class = &ffm_class,
};
diff --git a/libavformat/version.h b/libavformat/version.h
index d66eeff270..22af345f0f 100644
--- a/libavformat/version.h
+++ b/libavformat/version.h
@@ -30,7 +30,7 @@
#include "libavutil/version.h"
#define LIBAVFORMAT_VERSION_MAJOR 57
-#define LIBAVFORMAT_VERSION_MINOR 16
+#define LIBAVFORMAT_VERSION_MINOR 17
#define LIBAVFORMAT_VERSION_MICRO 100
#define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \