2014-01-15 10:21:14 +04:00
|
|
|
// Copyright (c) 2010 The WebM project authors. All Rights Reserved.
|
|
|
|
//
|
|
|
|
// Use of this source code is governed by a BSD-style license
|
|
|
|
// that can be found in the LICENSE file in the root of the source
|
|
|
|
// tree. An additional intellectual property rights grant can be found
|
|
|
|
// in the file PATENTS. All contributing project authors may
|
|
|
|
// be found in the AUTHORS file in the root of the source tree.
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifndef MKV_CONTEXT_HPP
|
|
|
|
#define MKV_CONTEXT_HPP 1
|
|
|
|
|
|
|
|
#include "EbmlWriter.h"
|
|
|
|
|
|
|
|
// these are helper functions
|
|
|
|
void writeHeader(EbmlGlobal *ebml);
|
|
|
|
void writeSegmentInformation(EbmlGlobal *ebml, EbmlLoc *startInfo, unsigned long timeCodeScale, double duration);
|
|
|
|
// this function is a helper only, it assumes a lot of defaults
|
|
|
|
void writeVideoTrack(EbmlGlobal *ebml, unsigned int trackNumber, int flagLacing,
|
2014-01-31 04:42:00 +04:00
|
|
|
const char *codecId, unsigned int pixelWidth, unsigned int pixelHeight,
|
2014-02-21 10:27:41 +04:00
|
|
|
unsigned int displayWidth, unsigned int displayHeight,
|
2014-01-15 10:21:14 +04:00
|
|
|
double frameRate);
|
|
|
|
void writeAudioTrack(EbmlGlobal *glob, unsigned int trackNumber, int flagLacing,
|
2014-01-31 04:42:00 +04:00
|
|
|
const char *codecId, double samplingFrequency, unsigned int channels,
|
2014-01-15 10:21:14 +04:00
|
|
|
unsigned char *private_, unsigned long privateSize);
|
|
|
|
|
|
|
|
void writeSimpleBlock(EbmlGlobal *ebml, unsigned char trackNumber, short timeCode,
|
|
|
|
int isKeyframe, unsigned char lacingFlag, int discardable,
|
|
|
|
unsigned char *data, unsigned long dataLength);
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif
|