blob: 05b1ebe485d2dfad56f8c3746b34cae58f9940e1 [file] [log] [blame]
// Copyright 2016 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef SERVICES_MEDIA_FRAMEWORK_FFMPEG_FFMPEG_FORMATTING_H_
#define SERVICES_MEDIA_FRAMEWORK_FFMPEG_FFMPEG_FORMATTING_H_
#include <ostream>
#include "services/media/framework/formatting.h"
extern "C" {
#include "third_party/ffmpeg/libavformat/avformat.h"
}
namespace mojo {
namespace media {
// See services/media/framework/ostream.h for details.
std::ostream& operator<<(
std::ostream& os,
const struct AVCodecTag *const *value);
std::ostream& operator<<(std::ostream& os, const AVInputFormat *value);
std::ostream& operator<<(std::ostream& os, const AVOutputFormat *value);
std::ostream& operator<<(std::ostream& os, const AVIOContext *value);
std::ostream& operator<<(std::ostream& os, const AVCodecContext *value);
std::ostream& operator<<(std::ostream& os, const AVCodec *value);
std::ostream& operator<<(std::ostream& os, const AVRational& value);
std::ostream& operator<<(std::ostream& os, const AVStream *value);
std::ostream& operator<<(std::ostream& os, const AVBufferRef *value);
std::ostream& operator<<(std::ostream& os, const AVFrame *value);
std::ostream& operator<<(std::ostream& os, const AVPacket *value);
std::ostream& operator<<(std::ostream& os, const AVPacketSideData *value);
std::ostream& operator<<(std::ostream& os, const AVProgram *value);
std::ostream& operator<<(std::ostream& os, const AVChapter *value);
std::ostream& operator<<(std::ostream& os, AVCodecID value);
std::ostream& operator<<(std::ostream& os, const AVDictionary *value);
std::ostream& operator<<(std::ostream& os, enum AVDiscard value);
std::ostream& operator<<(std::ostream& os, AVDurationEstimationMethod value);
std::ostream& operator<<(std::ostream& os, const AVFormatContext *value);
std::ostream& operator<<(std::ostream& os, AVMediaType value);
std::ostream& operator<<(std::ostream& os, AVSampleFormat value);
std::ostream& operator<<(std::ostream& os, AVColorSpace value);
struct AVPacketSideDataArray {
AVPacketSideDataArray(const AVPacketSideData *items, unsigned int count) :
items_(items), count_(count) {}
const AVPacketSideData *items_;
unsigned int count_;
};
std::ostream& operator<<(std::ostream& os, const AVPacketSideDataArray& value);
struct AVProgramArray {
AVProgramArray(AVProgram **items, unsigned int count) :
items_(items), count_(count) {}
AVProgram **items_;
unsigned int count_;
};
std::ostream& operator<<(std::ostream& os, const AVProgramArray& value);
struct AVChapterArray {
AVChapterArray(AVChapter **items, unsigned int count) :
items_(items), count_(count) {}
AVChapter **items_;
unsigned int count_;
};
std::ostream& operator<<(std::ostream& os, const AVChapterArray& value);
struct AVStreamArray {
AVStreamArray(AVStream **items, unsigned int count) :
items_(items), count_(count) {}
AVStream **items_;
unsigned int count_;
};
std::ostream& operator<<(std::ostream& os, const AVStreamArray& value);
struct AVFMTFlags {
AVFMTFlags(int flags) : flags_(flags) {}
int flags_;
};
std::ostream& operator<<(std::ostream& os, AVFMTFlags value);
struct AVFMTCTXFlags {
AVFMTCTXFlags(int flags) : flags_(flags) {}
int flags_;
};
std::ostream& operator<<(std::ostream& os, AVFMTCTXFlags value);
struct AV_DISPOSITIONFlags {
AV_DISPOSITIONFlags(int flags) : flags_(flags) {}
int flags_;
};
std::ostream& operator<<(std::ostream& os, AV_DISPOSITIONFlags value);
struct AVFMT_EVENTFlags {
AVFMT_EVENTFlags(int flags) : flags_(flags) {}
int flags_;
};
std::ostream& operator<<(std::ostream& os, AVFMT_EVENTFlags value);
struct AVSTREAM_EVENTFlags {
AVSTREAM_EVENTFlags(int flags) : flags_(flags) {}
int flags_;
};
std::ostream& operator<<(std::ostream& os, AVSTREAM_EVENTFlags value);
struct AVFMT_AVOID_NEG_TSFlags {
AVFMT_AVOID_NEG_TSFlags(int flags) : flags_(flags) {}
int flags_;
};
std::ostream& operator<<(std::ostream& os, AVFMT_AVOID_NEG_TSFlags value);
} // namespace media
} // namespace mojo
#endif // SERVICES_MEDIA_FRAMEWORK_FFMPEG_FFMPEG_FORMATTING_H_