1/* 2 * Copyright 2004, Axel D��rfler, axeld@pinc-software.de. All rights reserved. 3 * Distributed under the terms of the MIT License. 4 */ 5#ifndef META_FORMAT_H 6#define META_FORMAT_H 7 8 9#include <MediaFormats.h> 10 11 12namespace BPrivate { 13namespace media { 14 15// Implementation can be found in MediaFormats.cpp 16 17#define MEDIA_META_FORMAT_TYPE 'MeFo' 18 // to be used in the MEDIA_SERVER_GET_FORMATS message reply 19 20struct meta_format { 21 meta_format(); 22 meta_format(const media_format_description &description, 23 const media_format &format, int32 id); 24 meta_format(const media_format_description &description); 25 meta_format(const meta_format &other); 26 27 bool Matches(const media_format &format, media_format_family family); 28 static int CompareDescriptions(const meta_format *a, const meta_format *b); 29 static int Compare(const meta_format *a, const meta_format *b); 30 31 media_format_description description; 32 media_format format; 33 int32 id; 34}; 35 36typedef status_t (*_MakeFormatHookFunc)( 37 const media_format_description *descriptions, int32 descriptionsCount, 38 media_format *format, uint32 flags); 39 40extern _MakeFormatHookFunc _gMakeFormatHook; 41 42} // namespace media 43} // namespace BPrivate 44 45#endif /* META_FORMAT_H */ 46