1 // Copyright (c) 2010 The WebM project authors. All Rights Reserved.
3 // Use of this source code is governed by a BSD-style license
4 // that can be found in the LICENSE file in the root of the source
5 // tree. An additional intellectual property rights grant can be found
6 // in the file PATENTS. All contributing project authors may
7 // be found in the AUTHORS file in the root of the source tree.
13 #ifndef MKV_CONTEXT_HPP
14 #define MKV_CONTEXT_HPP 1
16 #include "EbmlWriter.h"
18 // these are helper functions
19 void writeHeader(EbmlGlobal
*ebml
);
20 void writeSegmentInformation(EbmlGlobal
*ebml
, EbmlLoc
*startInfo
, unsigned long timeCodeScale
, double duration
);
21 // this function is a helper only, it assumes a lot of defaults
22 void writeVideoTrack(EbmlGlobal
*ebml
, unsigned int trackNumber
, int flagLacing
,
23 const char *codecId
, unsigned int pixelWidth
, unsigned int pixelHeight
,
24 unsigned int displayWidth
, unsigned int displayHeight
);
25 void writeAudioTrack(EbmlGlobal
*glob
, unsigned int trackNumber
, int flagLacing
,
26 const char *codecId
, double samplingFrequency
, unsigned int channels
,
27 uint64_t codecDelay
, uint64_t seekPreRoll
,
28 unsigned char *private_
, unsigned long privateSize
);
30 void writeSimpleBlock(EbmlGlobal
*ebml
, unsigned char trackNumber
, short timeCode
,
31 int isKeyframe
, unsigned char lacingFlag
, int discardable
,
32 unsigned char *data
, unsigned long dataLength
);