summaryrefslogtreecommitdiffstats
path: root/ffprobe.c
diff options
context:
space:
mode:
authorStefano Sabatini <stefasab@gmail.com>2012-09-10 10:49:03 +0200
committerStefano Sabatini <stefasab@gmail.com>2012-09-11 01:02:20 +0200
commitf740c1a9c2a6b70b44b59faeb27e1a9cd8e9ec39 (patch)
treec40c91ecbe615f1a915337161e5b0628daa2d7c0 /ffprobe.c
parent76fac0733436943db58bac8ac61b68b227e60df3 (diff)
downloadffmpeg-streaming-f740c1a9c2a6b70b44b59faeb27e1a9cd8e9ec39.zip
ffmpeg-streaming-f740c1a9c2a6b70b44b59faeb27e1a9cd8e9ec39.tar.gz
ffprobe: add and use DEFINE_WRITER_CLASS macro
Factorize writer class definition.
Diffstat (limited to 'ffprobe.c')
-rw-r--r--ffprobe.c77
1 files changed, 17 insertions, 60 deletions
diff --git a/ffprobe.c b/ffprobe.c
index d49245a..ce0183a 100644
--- a/ffprobe.c
+++ b/ffprobe.c
@@ -419,6 +419,17 @@ static const Writer *writer_get_by_name(const char *name)
/* WRITERS */
+#define DEFINE_WRITER_CLASS(name) \
+static const char *name##_get_name(void *ctx) \
+{ \
+ return #name ; \
+} \
+static const AVClass name##_class = { \
+ #name, \
+ name##_get_name, \
+ name##_options \
+}
+
/* Default output */
typedef struct DefaultContext {
@@ -437,16 +448,7 @@ static const AVOption default_options[] = {
{NULL},
};
-static const char *default_get_name(void *ctx)
-{
- return "default";
-}
-
-static const AVClass default_class = {
- "DefaultContext",
- default_get_name,
- default_options
-};
+DEFINE_WRITER_CLASS(default);
static av_cold int default_init(WriterContext *wctx, const char *args, void *opaque)
{
@@ -608,16 +610,7 @@ static const AVOption compact_options[]= {
{NULL},
};
-static const char *compact_get_name(void *ctx)
-{
- return "compact";
-}
-
-static const AVClass compact_class = {
- "CompactContext",
- compact_get_name,
- compact_options
-};
+DEFINE_WRITER_CLASS(compact);
static av_cold int compact_init(WriterContext *wctx, const char *args, void *opaque)
{
@@ -764,16 +757,7 @@ static const AVOption flat_options[]= {
{NULL},
};
-static const char *flat_get_name(void *ctx)
-{
- return "flat";
-}
-
-static const AVClass flat_class = {
- "FlatContext",
- flat_get_name,
- flat_options
-};
+DEFINE_WRITER_CLASS(flat);
static av_cold int flat_init(WriterContext *wctx, const char *args, void *opaque)
{
@@ -918,16 +902,7 @@ static const AVOption ini_options[] = {
{NULL},
};
-static const char *ini_get_name(void *ctx)
-{
- return "ini";
-}
-
-static const AVClass ini_class = {
- "INIContext",
- ini_get_name,
- ini_options
-};
+DEFINE_WRITER_CLASS(ini);
static av_cold int ini_init(WriterContext *wctx, const char *args, void *opaque)
{
@@ -1077,16 +1052,7 @@ static const AVOption json_options[]= {
{ NULL }
};
-static const char *json_get_name(void *ctx)
-{
- return "json";
-}
-
-static const AVClass json_class = {
- "JSONContext",
- json_get_name,
- json_options
-};
+DEFINE_WRITER_CLASS(json);
static av_cold int json_init(WriterContext *wctx, const char *args, void *opaque)
{
@@ -1300,16 +1266,7 @@ static const AVOption xml_options[] = {
{NULL},
};
-static const char *xml_get_name(void *ctx)
-{
- return "xml";
-}
-
-static const AVClass xml_class = {
- "XMLContext",
- xml_get_name,
- xml_options
-};
+DEFINE_WRITER_CLASS(xml);
static av_cold int xml_init(WriterContext *wctx, const char *args, void *opaque)
{
OpenPOWER on IntegriCloud