1 /* ------------------------------------------------------------------ 2 * Copyright (C) 1998-2009 PacketVideo 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 13 * express or implied. 14 * See the License for the specific language governing permissions 15 * and limitations under the License. 16 * ------------------------------------------------------------------- 17 */ 18 19 #ifndef PVMF_AACFFPARSER_DEFS_H_INCLUDED 20 #define PVMF_AACFFPARSER_DEFS_H_INCLUDED 21 22 /////////////////////////////////////////////// 23 // Port tags 24 /////////////////////////////////////////////// 25 26 /** 27 UUID for PV AAC FF parser node error 28 **/ 29 #define PVMFAACParserNodeEventTypesUUID PVUuid(0x13f4c2f2,0x2c66,0x46ac,0x95,0x1d,0x7f,0x86,0xb7,0x58,0x14,0x67) 30 31 /** Enumerated list of port tags supported by the node, 32 ** for the port requests. 33 */ 34 typedef enum 35 { 36 PVMF_AAC_PARSER_NODE_PORT_TYPE_SOURCE 37 } PVMFAACFFParserOutPortType; 38 39 // Capability mime strings 40 #define PVMF_AAC_PARSER_PORT_OUTPUT_FORMATS "x-pvmf/port/formattype" 41 #define PVMF_AAC_PARSER_PORT_OUTPUT_FORMATS_VALTYPE "x-pvmf/port/formattype;valtype=int32" 42 43 44 // Temporary until actual max track data size if used. 45 #define MAXTRACKDATASIZE 4096 46 47 static const char PVAAC_ALL_METADATA_KEY[] = "all"; 48 49 #define PVMF_AAC_NUM_METADATA_VALUES 14 50 // Constant character strings for metadata keys 51 static const char PVAACMETADATA_TITLE_KEY[] = "title"; 52 static const char PVAACMETADATA_ARTIST_KEY[] = "artist"; 53 static const char PVAACMETADATA_ALBUM_KEY[] = "album"; 54 static const char PVAACMETADATA_YEAR_KEY[] = "year"; 55 static const char PVAACMETADATA_COMMENT_KEY[] = "comment"; 56 static const char PVAACMETADATA_COPYRIGHT_KEY[] = "copyright"; 57 static const char PVAACMETADATA_GENRE_KEY[] = "genre"; 58 static const char PVAACMETADATA_TRACKINFO_TRACKNUMBER_KEY[] = "track-info/track-number"; 59 static const char PVAACMETADATA_DURATION_KEY[] = "duration"; 60 static const char PVAACMETADATA_NUMTRACKS_KEY[] = "num-tracks"; 61 static const char PVAACMETADATA_TRACKINFO_BITRATE_KEY[] = "track-info/bit-rate"; 62 static const char PVAACMETADATA_TRACKINFO_SAMPLERATE_KEY[] = "track-info/sample-rate"; 63 static const char PVAACMETADATA_TRACKINFO_AUDIO_FORMAT_KEY[] = "track-info/audio/format"; 64 static const char PVAACMETADATA_SEMICOLON[] = ";"; 65 static const char PVAACMETADATA_CHARENCUTF8[] = "char-encoding=UTF8"; 66 static const char PVAACMETADATA_CHARENCUTF16BE[] = "char-encoding=UTF16BE"; 67 static const char PVAACMETADATA_FORMATID3V1[] = "format=id3v1"; 68 static const char PVAACMETADATA_FORMATID3V11[] = "format=id3v1.1"; 69 static const char PVAACMETADATA_TIMESCALE1000[] = ";timescale=1000"; 70 static const char PVAACMETADATA_INDEX0[] = "index=0"; 71 static const char PVAACMETADATA_RANDOM_ACCESS_DENIED_KEY[] = "random-access-denied"; 72 73 #define PVMF_AAC_PARSER_NODE_MAX_AUDIO_DATA_MEM_POOL_SIZE 64*1024 74 #define PVMF_AAC_PARSER_NODE_DATA_MEM_POOL_GROWTH_LIMIT 1 75 #define PVMF_AAC_PARSER_NODE_MAX_NUM_OUTSTANDING_MEDIA_MSGS 4 76 #define PVMF_AAC_PARSER_NODE_MEDIA_MSG_SIZE 128 77 #define PVMF_AAC_PARSER_NODE_TS_DELTA_DURING_REPOS_IN_MS 10 78 79 80 #define PVMF_AAC_PARSER_NODE_MAX_CPM_METADATA_KEYS 256 81 // Temporary until actual max track data size if used. 82 #define MAX_PORTS 2 83 #define NUM_AAC_FRAMES 1 84 85 // using asf specific values until aac specific are known 86 #define AAC_MIN_DATA_SIZE_FOR_RECOGNITION 512 87 #define AAC_DATA_OBJECT_PARSING_OVERHEAD 512 88 89 #define PVMF_AAC_PARSER_NODE_INCLUDE_ADTS_HEADERS 0 90 91 #define PVMF_AAC_PARSER_NODE_TS_DELTA_DURING_REPOS_IN_MS 10 // 10ms 92 93 94 #endif 95 96