1// Copyright (c) 2010 The WebM project authors. All Rights Reserved.
2//
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.
8
9
10#ifndef MKV_CONTEXT_HPP
11#define MKV_CONTEXT_HPP 1
12
13void writeSimpleBock(EbmlGlobal *ebml, unsigned char trackNumber, unsigned short timeCode,
14                     int isKeyframe, unsigned char lacingFlag, int  discardable,
15                     unsigned char *data, unsigned long dataLength);
16
17
18// these are helper functions
19void writeHeader(EbmlGlobal *ebml);
20void writeSegmentInformation(EbmlGlobal *ebml, EbmlLoc* startInfo , unsigned long timeCodeScale, double duration);
21//this function is a helper only, it assumes a lot of defaults
22void writeVideoTrack(EbmlGlobal *ebml, unsigned int trackNumber, int flagLacing,
23                     char *codecId, unsigned int pixelWidth, unsigned int pixelHeight,
24                     double frameRate);
25void writeAudioTrack(EbmlGlobal *glob, unsigned int trackNumber, int flagLacing,
26                     char *codecId, double samplingFrequency, unsigned int channels,
27                     unsigned char *private, unsigned long privateSize);
28
29void writeSimpleBlock(EbmlGlobal *ebml, unsigned char trackNumber, short timeCode,
30                      int isKeyframe, unsigned char lacingFlag, int discardable,
31                      unsigned char *data, unsigned long dataLength);
32
33
34
35#endif