* http://wiki.multimedia.cx/index.php?title=American_Laser_Games_MM
*/
+#include "libavutil/channel_layout.h"
#include "libavutil/intreadwrite.h"
#include "avformat.h"
#include "internal.h"
#define MM_PALETTE_COUNT 128
#define MM_PALETTE_SIZE (MM_PALETTE_COUNT*3)
-typedef struct {
+typedef struct MmDemuxContext {
unsigned int audio_pts, video_pts;
} MmDemuxContext;
return 0;
/* only return half certainty since this check is a bit sketchy */
- return AVPROBE_SCORE_MAX / 2;
+ return AVPROBE_SCORE_EXTENSION;
}
static int read_header(AVFormatContext *s)
st = avformat_new_stream(s, NULL);
if (!st)
return AVERROR(ENOMEM);
- st->codec->codec_type = AVMEDIA_TYPE_VIDEO;
- st->codec->codec_id = CODEC_ID_MMVIDEO;
- st->codec->codec_tag = 0; /* no fourcc */
- st->codec->width = width;
- st->codec->height = height;
+ st->codecpar->codec_type = AVMEDIA_TYPE_VIDEO;
+ st->codecpar->codec_id = AV_CODEC_ID_MMVIDEO;
+ st->codecpar->codec_tag = 0; /* no fourcc */
+ st->codecpar->width = width;
+ st->codecpar->height = height;
avpriv_set_pts_info(st, 64, 1, frame_rate);
/* audio stream */
st = avformat_new_stream(s, NULL);
if (!st)
return AVERROR(ENOMEM);
- st->codec->codec_type = AVMEDIA_TYPE_AUDIO;
- st->codec->codec_tag = 0; /* no fourcc */
- st->codec->codec_id = CODEC_ID_PCM_U8;
- st->codec->channels = 1;
- st->codec->sample_rate = 8000;
+ st->codecpar->codec_type = AVMEDIA_TYPE_AUDIO;
+ st->codecpar->codec_tag = 0; /* no fourcc */
+ st->codecpar->codec_id = AV_CODEC_ID_PCM_U8;
+ st->codecpar->channels = 1;
+ st->codecpar->channel_layout = AV_CH_LAYOUT_MONO;
+ st->codecpar->sample_rate = 8000;
avpriv_set_pts_info(st, 64, 1, 8000); /* 8000 hz */
}
AVInputFormat ff_mm_demuxer = {
.name = "mm",
- .long_name = NULL_IF_CONFIG_SMALL("American Laser Games MM format"),
+ .long_name = NULL_IF_CONFIG_SMALL("American Laser Games MM"),
.priv_data_size = sizeof(MmDemuxContext),
.read_probe = probe,
.read_header = read_header,