I have downloaded FFMPEG source code(c code) by the following link

This is my piece of code and errors is on dot operater

AVInputFormat ff_yop_demuxer = {
.name = "yop",
.long_name = NULL_IF_CONFIG_SMALL("Psygnosis YOP"),
.priv_data_size = sizeof(YopDecContext),
.read_probe = yop_probe,
.read_header = yop_read_header,
.read_packet = yop_read_packet,
.read_close = yop_read_close,
.read_seek = yop_read_seek,
.extensions = "yop",

AVInputFormat is a stucture,

typedef struct AVInputFormat {
* A comma separated list of short names for the format. New names
* may be appended with a minor bump.
const char *name;

* Descriptive name for the format, meant to be more human-readable
* than name. You should use the NULL_IF_CONFIG_SMALL() macro
* to define it.
const char *long_name;

int flags;

* If extensions are defined, then no probe is done. You should
* usually not use extension format guessing because it is not
* reliable enough
const char *extensions;

const struct AVCodecTag * const *codec_tag;
const AVClass *priv_class; ///< AVClass for the private context

* No fields below this line are part of the public API. They
* may not be used outside of libavformat and can be changed and
* removed at will.
* New public fields should be added right above.
struct AVInputFormat *next;

* Raw demuxers store their codec ID here.
int raw_codec_id;

* Size of private data so that it can be allocated in the wrapper.
int priv_data_size;

* Tell if a given file has a chance of being parsed as this format.
* The buffer provided is guaranteed to be AVPROBE_PADDING_SIZE bytes
* big so you do not have to check for that unless you need more.
int (*read_probe)(AVProbeData *);

* Read the format header and initialize the AVFormatContext
* structure. Return 0 if OK. Only used in raw format right
* now. 'avformat_new_stream' should be called to create new streams.
int (*read_header)(struct AVFormatContext *);

* Read one packet and put it in 'pkt'. pts and flags are also
* set. 'avformat_new_stream' can be called only if the flag
* AVFMTCTX_NOHEADER is used and only in the calling thread (not in a
* background thread).
* @return 0 on success, < 0 on error.
* When returning an error, pkt must not have been allocated
* or must be freed before returning
int (*read_packet)(struct AVFormatContext *, AVPacket *pkt);

* Close the stream. The AVFormatContext and AVStreams are not
* freed by this function
int (*read_close)(struct AVFormatContext *);

* Seek to a given timestamp relative to the frames in
* stream component stream_index.
* @param stream_index Must not be -1.
* @param flags Selects which direction should be preferred if no exact
* match is available.
* @return >= 0 on success (but not necessarily the new offset)
int (*read_seek)(struct AVFormatContext *,
int stream_index, int64_t timestamp, int flags);

* Get the next timestamp in stream[stream_index].time_base units.
* @return the timestamp or AV_NOPTS_VALUE if an error occurred
int64_t (*read_timestamp)(struct AVFormatContext *s, int stream_index,
int64_t *pos, int64_t pos_limit);

* Start/resume playing - only meaningful if using a network-based format
* (RTSP).
int (*read_play)(struct AVFormatContext *);

* Pause playing - only meaningful if using a network-based format
* (RTSP).
int (*read_pause)(struct AVFormatContext *);

* Seek to timestamp ts.
* Seeking will be done so that the point from which all active streams
* can be presented successfully will be closest to ts and within min/max_ts.
* Active streams are all streams that have AVStream.discard < AVDISCARD_ALL.
int (*read_seek2)(struct AVFormatContext *s, int stream_index, int64_t min_ts, int64_t ts, int64_t max_ts, int flags);
} AVInputFormat;

While running this c code , i m getting error like,

c:\users\awki6\desktop\ffmpeg\libavformat\yop.c(234): error C2143: syntax error : missing '}' before '.'
c:\users\awki6\desktop\ffmpeg\libavformat\yop.c(234): error C2143: syntax error : missing ';' before '.'
c:\users\awki6\desktop\ffmpeg\libavformat\yop.c(234): error C2059: syntax error : '.'
c:\users\awki6\desktop\ffmpeg\libavformat\yop.c(244): error C2143: syntax error : missing ';' before '}'
c:\users\awki6\desktop\ffmpeg\libavformat\yop.c(244): error C2059: syntax error : '}

Please anyone let me know how to compile a ffmpeg c code on vs2010 successfully.
Last edited on
Topic archived. No new replies allowed.