1e2b20987c2652a984d10520ef3542d50d91119c5Andreas Huber/* 2e2b20987c2652a984d10520ef3542d50d91119c5Andreas Huber * Copyright (C) 2010 The Android Open Source Project 3e2b20987c2652a984d10520ef3542d50d91119c5Andreas Huber * 4e2b20987c2652a984d10520ef3542d50d91119c5Andreas Huber * Licensed under the Apache License, Version 2.0 (the "License"); 5e2b20987c2652a984d10520ef3542d50d91119c5Andreas Huber * you may not use this file except in compliance with the License. 6e2b20987c2652a984d10520ef3542d50d91119c5Andreas Huber * You may obtain a copy of the License at 7e2b20987c2652a984d10520ef3542d50d91119c5Andreas Huber * 8e2b20987c2652a984d10520ef3542d50d91119c5Andreas Huber * http://www.apache.org/licenses/LICENSE-2.0 9e2b20987c2652a984d10520ef3542d50d91119c5Andreas Huber * 10e2b20987c2652a984d10520ef3542d50d91119c5Andreas Huber * Unless required by applicable law or agreed to in writing, software 11e2b20987c2652a984d10520ef3542d50d91119c5Andreas Huber * distributed under the License is distributed on an "AS IS" BASIS, 12e2b20987c2652a984d10520ef3542d50d91119c5Andreas Huber * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13e2b20987c2652a984d10520ef3542d50d91119c5Andreas Huber * See the License for the specific language governing permissions and 14e2b20987c2652a984d10520ef3542d50d91119c5Andreas Huber * limitations under the License. 15e2b20987c2652a984d10520ef3542d50d91119c5Andreas Huber */ 16e2b20987c2652a984d10520ef3542d50d91119c5Andreas Huber 17e2b20987c2652a984d10520ef3542d50d91119c5Andreas Huber//#define LOG_NDEBUG 0 18e2b20987c2652a984d10520ef3542d50d91119c5Andreas Huber#define LOG_TAG "AHandler" 19e2b20987c2652a984d10520ef3542d50d91119c5Andreas Huber#include <utils/Log.h> 20e2b20987c2652a984d10520ef3542d50d91119c5Andreas Huber 21e2b20987c2652a984d10520ef3542d50d91119c5Andreas Huber#include <media/stagefright/foundation/AHandler.h> 225804a76ac5f9f3c311f1bbbcc5ebdc8f8568ae14Lajos Molnar#include <media/stagefright/foundation/AMessage.h> 23e2b20987c2652a984d10520ef3542d50d91119c5Andreas Huber 24e2b20987c2652a984d10520ef3542d50d91119c5Andreas Hubernamespace android { 25e2b20987c2652a984d10520ef3542d50d91119c5Andreas Huber 265804a76ac5f9f3c311f1bbbcc5ebdc8f8568ae14Lajos Molnarvoid AHandler::deliverMessage(const sp<AMessage> &msg) { 275804a76ac5f9f3c311f1bbbcc5ebdc8f8568ae14Lajos Molnar onMessageReceived(msg); 285804a76ac5f9f3c311f1bbbcc5ebdc8f8568ae14Lajos Molnar mMessageCounter++; 29e2b20987c2652a984d10520ef3542d50d91119c5Andreas Huber 305804a76ac5f9f3c311f1bbbcc5ebdc8f8568ae14Lajos Molnar if (mVerboseStats) { 315804a76ac5f9f3c311f1bbbcc5ebdc8f8568ae14Lajos Molnar uint32_t what = msg->what(); 325804a76ac5f9f3c311f1bbbcc5ebdc8f8568ae14Lajos Molnar ssize_t idx = mMessages.indexOfKey(what); 335804a76ac5f9f3c311f1bbbcc5ebdc8f8568ae14Lajos Molnar if (idx < 0) { 345804a76ac5f9f3c311f1bbbcc5ebdc8f8568ae14Lajos Molnar mMessages.add(what, 1); 355804a76ac5f9f3c311f1bbbcc5ebdc8f8568ae14Lajos Molnar } else { 365804a76ac5f9f3c311f1bbbcc5ebdc8f8568ae14Lajos Molnar mMessages.editValueAt(idx)++; 375804a76ac5f9f3c311f1bbbcc5ebdc8f8568ae14Lajos Molnar } 385804a76ac5f9f3c311f1bbbcc5ebdc8f8568ae14Lajos Molnar } 39e2b20987c2652a984d10520ef3542d50d91119c5Andreas Huber} 40e2b20987c2652a984d10520ef3542d50d91119c5Andreas Huber 41e2b20987c2652a984d10520ef3542d50d91119c5Andreas Huber} // namespace android 42