MediaResource.cpp revision 231c3d169ad029689f9d688b68179af7e96b8d78
1231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu/* 2231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu * Copyright 2015 The Android Open Source Project 3231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu * 4231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu * Licensed under the Apache License, Version 2.0 (the "License"); 5231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu * you may not use this file except in compliance with the License. 6231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu * You may obtain a copy of the License at 7231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu * 8231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu * http://www.apache.org/licenses/LICENSE-2.0 9231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu * 10231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu * Unless required by applicable law or agreed to in writing, software 11231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu * distributed under the License is distributed on an "AS IS" BASIS, 12231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu * See the License for the specific language governing permissions and 14231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu * limitations under the License. 15231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu */ 16231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu 17231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu//#define LOG_NDEBUG 0 18231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu#define LOG_TAG "MediaResource" 19231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu#include <utils/Log.h> 20231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu#include <media/MediaResource.h> 21231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu 22231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wunamespace android { 23231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu 24231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wuconst char kResourceSecureCodec[] = "secure-codec"; 25231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wuconst char kResourceNonSecureCodec[] = "non-secure-codec"; 26231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wuconst char kResourceGraphicMemory[] = "graphic-memory"; 27231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu 28231c3d169ad029689f9d688b68179af7e96b8d78Ronghua WuMediaResource::MediaResource() : mValue(0) {} 29231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu 30231c3d169ad029689f9d688b68179af7e96b8d78Ronghua WuMediaResource::MediaResource(String8 type, uint64_t value) 31231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu : mType(type), 32231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu mValue(value) {} 33231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu 34231c3d169ad029689f9d688b68179af7e96b8d78Ronghua WuMediaResource::MediaResource(String8 type, String8 subType, uint64_t value) 35231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu : mType(type), 36231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu mSubType(subType), 37231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu mValue(value) {} 38231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu 39231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wuvoid MediaResource::readFromParcel(const Parcel &parcel) { 40231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu mType = parcel.readString8(); 41231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu mSubType = parcel.readString8(); 42231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu mValue = parcel.readUint64(); 43231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu} 44231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu 45231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wuvoid MediaResource::writeToParcel(Parcel *parcel) const { 46231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu parcel->writeString8(mType); 47231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu parcel->writeString8(mSubType); 48231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu parcel->writeUint64(mValue); 49231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu} 50231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu 51231c3d169ad029689f9d688b68179af7e96b8d78Ronghua WuString8 MediaResource::toString() const { 52231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu String8 str; 53231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu str.appendFormat("%s/%s:%llu", mType.string(), mSubType.string(), mValue); 54231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu return str; 55231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu} 56231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu 57231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wubool MediaResource::operator==(const MediaResource &other) const { 58231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu return (other.mType == mType) && (other.mSubType == mSubType) && (other.mValue == mValue); 59231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu} 60231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu 61231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wubool MediaResource::operator!=(const MediaResource &other) const { 62231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu return !(*this == other); 63231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu} 64231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu 65231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu}; // namespace android 66