std::string PFBlock::shortName() const { // constructs a short summary name for blocks allowing sorting based on contents // eg 'E1H1T2' for a block with 1 ecal, 1 hcal, 2 tracks std::string shortName = ""; if (countEcal()) shortName = shortName + "E" + std::to_string(countEcal()); if (countHcal()) shortName = shortName + "H" + std::to_string(countHcal()); if (countTracks()) shortName = shortName + "T" + std::to_string(countTracks()); return shortName; }
/* * Class: com_joshlong_cdworld_utils_cdda_AudioCompactDisc * Method: _countTracksOnAudioCompactDisc * Signature: (Ljava/lang/String;)I */ JNIEXPORT jint JNICALL Java_com_joshlong_cdworld_utils_cdda_AudioCompactDisc__1countTracksOnAudioCompactDisc (JNIEnv * env, jobject o, jstring deviceName) { const char * drive = (*env).GetStringUTFChars( deviceName, NULL) ; int driveNo =atoi( drive); jint cnt = (jint)countTracks(driveNo) ; (*env).ReleaseStringUTFChars(deviceName,drive); return cnt; }
sp<MediaSource> RtspExtractor::getTrack(size_t index) { NS_ENSURE_TRUE(index < countTracks(), nullptr); sp<MetaData> meta = getTrackMetaData(index); sp<MediaSource> source = new RtspMediaSource(mRtspResource, index, FRAME_DEFAULT_SIZE, meta); return source; }
sp<MetaData> RtspExtractor::getTrackMetaData(size_t index, uint32_t flag) { NS_ENSURE_TRUE(index < countTracks(), nullptr); sp<MetaData> meta = new MetaData(); nsCOMPtr<nsIStreamingProtocolMetaData> rtspMetadata; mController->GetTrackMetaData(index, getter_AddRefs(rtspMetadata)); if (rtspMetadata) { // Convert msMeta into meta. // The getter function of nsIStreamingProtocolMetaData will initialize the // metadata values to 0 before setting them. nsCString mime; rtspMetadata->GetMimeType(mime); meta->setCString(kKeyMIMEType, mime.get()); uint32_t temp32; rtspMetadata->GetWidth(&temp32); meta->setInt32(kKeyWidth, temp32); rtspMetadata->GetHeight(&temp32); meta->setInt32(kKeyHeight, temp32); rtspMetadata->GetSampleRate(&temp32); meta->setInt32(kKeySampleRate, temp32); rtspMetadata->GetChannelCount(&temp32); meta->setInt32(kKeyChannelCount, temp32); uint64_t temp64; rtspMetadata->GetDuration(&temp64); meta->setInt64(kKeyDuration, temp64); nsCString tempCString; rtspMetadata->GetEsdsData(tempCString); if (tempCString.Length()) { meta->setData(kKeyESDS, 0, tempCString.get(), tempCString.Length()); } rtspMetadata->GetAvccData(tempCString); if (tempCString.Length()) { meta->setData(kKeyAVCC, 0, tempCString.get(), tempCString.Length()); } } return meta; }
std::string PFBlock::info() const { fmt::MemoryWriter out; out.write("{:8} :{:9}: ecals = {} hcals = {} tracks = {}", shortName(), Id::pretty(m_uniqueId), countEcal(), countHcal(), countTracks()); return out.str(); }