Home | History | Annotate | Download | only in libstagefright

Lines Matching refs:ESDS

27 #include "include/ESDS.h"
413 static void parseMpeg2ProfileLevelFromEsds(ESDS &esds, sp<AMessage> &format) {
414 // esds seems to only contain the profile for MPEG-2
416 if (esds.getObjectTypeIndication(&objType) == OK) {
961 ESDS esds((const char *)data, size);
962 if (esds.InitCheck() != (status_t)OK) {
968 esds.getCodecSpecificInfo(
986 parseMpeg2ProfileLevelFromEsds(esds, msg);
995 if (esds.getBitRate(&maxBitrate, &avgBitrate) == OK) {
1169 static void reassembleESDS(const sp<ABuffer> &csd0, char *esds) {
1171 esds[0] = 3; // kTag_ESDescriptor;
1174 esds[1] = 0x80 | (esdescriptorsize >> 21);
1175 esds[2] = 0x80 | ((esdescriptorsize >> 14) & 0x7f);
1176 esds[3] = 0x80 | ((esdescriptorsize >> 7) & 0x7f);
1177 esds[4] = (esdescriptorsize & 0x7f);
1178 esds[5] = esds[6] = 0; // es id
1179 esds[7] = 0; // flags
1180 esds[8] = 4; // kTag_DecoderConfigDescriptor
1182 esds[9] = 0x80 | (configdescriptorsize >> 21);
1183 esds[10] = 0x80 | ((configdescriptorsize >> 14) & 0x7f);
1184 esds[11] = 0x80 | ((configdescriptorsize >> 7) & 0x7f);
1185 esds[12] = (configdescriptorsize & 0x7f);
1186 esds[13] = 0x40; // objectTypeIndication
1188 esds[14] = 0x15; // streamType(5), upStream(0),
1189 esds[15] = 0x00; // 15-17: bufferSizeDB (6KB)
1190 esds[16] = 0x18;
1191 esds[17] = 0x00;
1192 esds[18] = 0x00; // 18-21: maxBitrate (64kbps)
1193 esds[19] = 0x00;
1194 esds[20] = 0xfa;
1195 esds[21] = 0x00;
1196 esds[22] = 0x00; // 22-25: avgBitrate (64kbps)
1197 esds[23] = 0x00;
1198 esds[24] = 0xfa;
1199 esds[25] = 0x00;
1200 esds[26] = 5; // kTag_DecoderSpecificInfo;
1201 esds[27] = 0x80 | (csd0size >> 21);
1202 esds[28] = 0x80 | ((csd0size >> 14) & 0x7f);
1203 esds[29] = 0x80 | ((csd0size >> 7) & 0x7f);
1204 esds[30] = (csd0size & 0x7f);
1205 memcpy((void*)&esds[31], csd0->data(), csd0size);
1450 std::vector<char> esds(csd0size + 31);
1451 // The written ESDS is actually for an audio stream, but it's enough
1453 reassembleESDS(csd0, esds.data());
1454 meta->setData(kKeyESDS, kKeyESDS, esds.data(), esds.size());