1ff761fba8274d93bd73e76c8b8a1f2d0776dd840Henrik Kjellander/* 2ff761fba8274d93bd73e76c8b8a1f2d0776dd840Henrik Kjellander * Copyright (c) 2011 The WebRTC project authors. All Rights Reserved. 3ff761fba8274d93bd73e76c8b8a1f2d0776dd840Henrik Kjellander * 4ff761fba8274d93bd73e76c8b8a1f2d0776dd840Henrik Kjellander * Use of this source code is governed by a BSD-style license 5ff761fba8274d93bd73e76c8b8a1f2d0776dd840Henrik Kjellander * that can be found in the LICENSE file in the root of the source 6ff761fba8274d93bd73e76c8b8a1f2d0776dd840Henrik Kjellander * tree. An additional intellectual property rights grant can be found 7ff761fba8274d93bd73e76c8b8a1f2d0776dd840Henrik Kjellander * in the file PATENTS. All contributing project authors may 8ff761fba8274d93bd73e76c8b8a1f2d0776dd840Henrik Kjellander * be found in the AUTHORS file in the root of the source tree. 9ff761fba8274d93bd73e76c8b8a1f2d0776dd840Henrik Kjellander */ 10ff761fba8274d93bd73e76c8b8a1f2d0776dd840Henrik Kjellander 110b9e29c87da2d9c1a3792d2c87197b0688b68e4eHenrik Kjellander#ifndef WEBRTC_MODULES_MEDIA_FILE_MEDIA_FILE_DEFINES_H_ 120b9e29c87da2d9c1a3792d2c87197b0688b68e4eHenrik Kjellander#define WEBRTC_MODULES_MEDIA_FILE_MEDIA_FILE_DEFINES_H_ 13ff761fba8274d93bd73e76c8b8a1f2d0776dd840Henrik Kjellander 14ff761fba8274d93bd73e76c8b8a1f2d0776dd840Henrik Kjellander#include "webrtc/engine_configurations.h" 15ff761fba8274d93bd73e76c8b8a1f2d0776dd840Henrik Kjellander#include "webrtc/modules/include/module_common_types.h" 16ff761fba8274d93bd73e76c8b8a1f2d0776dd840Henrik Kjellander#include "webrtc/typedefs.h" 17ff761fba8274d93bd73e76c8b8a1f2d0776dd840Henrik Kjellander 18ff761fba8274d93bd73e76c8b8a1f2d0776dd840Henrik Kjellandernamespace webrtc { 19ff761fba8274d93bd73e76c8b8a1f2d0776dd840Henrik Kjellander// Callback class for the MediaFile class. 20ff761fba8274d93bd73e76c8b8a1f2d0776dd840Henrik Kjellanderclass FileCallback 21ff761fba8274d93bd73e76c8b8a1f2d0776dd840Henrik Kjellander{ 22ff761fba8274d93bd73e76c8b8a1f2d0776dd840Henrik Kjellanderpublic: 23ff761fba8274d93bd73e76c8b8a1f2d0776dd840Henrik Kjellander virtual ~FileCallback(){} 24ff761fba8274d93bd73e76c8b8a1f2d0776dd840Henrik Kjellander 25ff761fba8274d93bd73e76c8b8a1f2d0776dd840Henrik Kjellander // This function is called by MediaFile when a file has been playing for 26ff761fba8274d93bd73e76c8b8a1f2d0776dd840Henrik Kjellander // durationMs ms. id is the identifier for the MediaFile instance calling 27ff761fba8274d93bd73e76c8b8a1f2d0776dd840Henrik Kjellander // the callback. 28ff761fba8274d93bd73e76c8b8a1f2d0776dd840Henrik Kjellander virtual void PlayNotification(const int32_t id, 29ff761fba8274d93bd73e76c8b8a1f2d0776dd840Henrik Kjellander const uint32_t durationMs) = 0; 30ff761fba8274d93bd73e76c8b8a1f2d0776dd840Henrik Kjellander 31ff761fba8274d93bd73e76c8b8a1f2d0776dd840Henrik Kjellander // This function is called by MediaFile when a file has been recording for 32ff761fba8274d93bd73e76c8b8a1f2d0776dd840Henrik Kjellander // durationMs ms. id is the identifier for the MediaFile instance calling 33ff761fba8274d93bd73e76c8b8a1f2d0776dd840Henrik Kjellander // the callback. 34ff761fba8274d93bd73e76c8b8a1f2d0776dd840Henrik Kjellander virtual void RecordNotification(const int32_t id, 35ff761fba8274d93bd73e76c8b8a1f2d0776dd840Henrik Kjellander const uint32_t durationMs) = 0; 36ff761fba8274d93bd73e76c8b8a1f2d0776dd840Henrik Kjellander 37ff761fba8274d93bd73e76c8b8a1f2d0776dd840Henrik Kjellander // This function is called by MediaFile when a file has been stopped 38ff761fba8274d93bd73e76c8b8a1f2d0776dd840Henrik Kjellander // playing. id is the identifier for the MediaFile instance calling the 39ff761fba8274d93bd73e76c8b8a1f2d0776dd840Henrik Kjellander // callback. 40ff761fba8274d93bd73e76c8b8a1f2d0776dd840Henrik Kjellander virtual void PlayFileEnded(const int32_t id) = 0; 41ff761fba8274d93bd73e76c8b8a1f2d0776dd840Henrik Kjellander 42ff761fba8274d93bd73e76c8b8a1f2d0776dd840Henrik Kjellander // This function is called by MediaFile when a file has been stopped 43ff761fba8274d93bd73e76c8b8a1f2d0776dd840Henrik Kjellander // recording. id is the identifier for the MediaFile instance calling the 44ff761fba8274d93bd73e76c8b8a1f2d0776dd840Henrik Kjellander // callback. 45ff761fba8274d93bd73e76c8b8a1f2d0776dd840Henrik Kjellander virtual void RecordFileEnded(const int32_t id) = 0; 46ff761fba8274d93bd73e76c8b8a1f2d0776dd840Henrik Kjellander 47ff761fba8274d93bd73e76c8b8a1f2d0776dd840Henrik Kjellanderprotected: 48ff761fba8274d93bd73e76c8b8a1f2d0776dd840Henrik Kjellander FileCallback() {} 49ff761fba8274d93bd73e76c8b8a1f2d0776dd840Henrik Kjellander}; 50ff761fba8274d93bd73e76c8b8a1f2d0776dd840Henrik Kjellander} // namespace webrtc 510b9e29c87da2d9c1a3792d2c87197b0688b68e4eHenrik Kjellander#endif // WEBRTC_MODULES_MEDIA_FILE_MEDIA_FILE_DEFINES_H_ 52