Home | History | Annotate | Download | only in include
      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