| Index: webrtc/modules/utility/source/file_player.cc
 | 
| diff --git a/webrtc/modules/utility/source/file_player_impl.cc b/webrtc/modules/utility/source/file_player.cc
 | 
| similarity index 83%
 | 
| rename from webrtc/modules/utility/source/file_player_impl.cc
 | 
| rename to webrtc/modules/utility/source/file_player.cc
 | 
| index 6608ce90cbdf3bebaf5593b642d11c9ecab24684..8434b7211de9bf0c3c72870d2d7785b6a61e58a2 100644
 | 
| --- a/webrtc/modules/utility/source/file_player_impl.cc
 | 
| +++ b/webrtc/modules/utility/source/file_player.cc
 | 
| @@ -8,30 +8,70 @@
 | 
|   *  be found in the AUTHORS file in the root of the source tree.
 | 
|   */
 | 
|  
 | 
| -#include "webrtc/modules/utility/source/file_player_impl.h"
 | 
| +#include "webrtc/modules/utility/include/file_player.h"
 | 
| +
 | 
| +#include "webrtc/common_audio/resampler/include/resampler.h"
 | 
| +#include "webrtc/common_types.h"
 | 
| +#include "webrtc/engine_configurations.h"
 | 
| +#include "webrtc/modules/media_file/media_file.h"
 | 
| +#include "webrtc/modules/media_file/media_file_defines.h"
 | 
| +#include "webrtc/modules/utility/source/coder.h"
 | 
| +#include "webrtc/system_wrappers/include/critical_section_wrapper.h"
 | 
|  #include "webrtc/system_wrappers/include/logging.h"
 | 
| +#include "webrtc/typedefs.h"
 | 
|  
 | 
|  namespace webrtc {
 | 
| -FilePlayer* FilePlayer::CreateFilePlayer(uint32_t instanceID,
 | 
| -                                         FileFormats fileFormat) {
 | 
| -  switch (fileFormat) {
 | 
| -    case kFileFormatWavFile:
 | 
| -    case kFileFormatCompressedFile:
 | 
| -    case kFileFormatPreencodedFile:
 | 
| -    case kFileFormatPcm16kHzFile:
 | 
| -    case kFileFormatPcm8kHzFile:
 | 
| -    case kFileFormatPcm32kHzFile:
 | 
| -      // audio formats
 | 
| -      return new FilePlayerImpl(instanceID, fileFormat);
 | 
| -    default:
 | 
| -      assert(false);
 | 
| -      return NULL;
 | 
| -  }
 | 
| -}
 | 
|  
 | 
| -void FilePlayer::DestroyFilePlayer(FilePlayer* player) {
 | 
| -  delete player;
 | 
| -}
 | 
| +namespace {
 | 
| +
 | 
| +class FilePlayerImpl : public FilePlayer {
 | 
| + public:
 | 
| +  FilePlayerImpl(uint32_t instanceID, FileFormats fileFormat);
 | 
| +  ~FilePlayerImpl();
 | 
| +
 | 
| +  virtual int Get10msAudioFromFile(int16_t* outBuffer,
 | 
| +                                   size_t& lengthInSamples,
 | 
| +                                   int frequencyInHz);
 | 
| +  virtual int32_t RegisterModuleFileCallback(FileCallback* callback);
 | 
| +  virtual int32_t StartPlayingFile(const char* fileName,
 | 
| +                                   bool loop,
 | 
| +                                   uint32_t startPosition,
 | 
| +                                   float volumeScaling,
 | 
| +                                   uint32_t notification,
 | 
| +                                   uint32_t stopPosition = 0,
 | 
| +                                   const CodecInst* codecInst = NULL);
 | 
| +  virtual int32_t StartPlayingFile(InStream& sourceStream,
 | 
| +                                   uint32_t startPosition,
 | 
| +                                   float volumeScaling,
 | 
| +                                   uint32_t notification,
 | 
| +                                   uint32_t stopPosition = 0,
 | 
| +                                   const CodecInst* codecInst = NULL);
 | 
| +  virtual int32_t StopPlayingFile();
 | 
| +  virtual bool IsPlayingFile() const;
 | 
| +  virtual int32_t GetPlayoutPosition(uint32_t& durationMs);
 | 
| +  virtual int32_t AudioCodec(CodecInst& audioCodec) const;
 | 
| +  virtual int32_t Frequency() const;
 | 
| +  virtual int32_t SetAudioScaling(float scaleFactor);
 | 
| +
 | 
| + protected:
 | 
| +  int32_t SetUpAudioDecoder();
 | 
| +
 | 
| +  uint32_t _instanceID;
 | 
| +  const FileFormats _fileFormat;
 | 
| +  MediaFile& _fileModule;
 | 
| +
 | 
| +  uint32_t _decodedLengthInMS;
 | 
| +
 | 
| + private:
 | 
| +  AudioCoder _audioDecoder;
 | 
| +
 | 
| +  CodecInst _codec;
 | 
| +  int32_t _numberOf10MsPerFrame;
 | 
| +  int32_t _numberOf10MsInDecoder;
 | 
| +
 | 
| +  Resampler _resampler;
 | 
| +  float _scaling;
 | 
| +};
 | 
|  
 | 
|  FilePlayerImpl::FilePlayerImpl(const uint32_t instanceID,
 | 
|                                 const FileFormats fileFormat)
 | 
| @@ -330,4 +370,28 @@ int32_t FilePlayerImpl::SetUpAudioDecoder() {
 | 
|    _numberOf10MsInDecoder = 0;
 | 
|    return 0;
 | 
|  }
 | 
| +
 | 
| +}  // namespace
 | 
| +
 | 
| +FilePlayer* FilePlayer::CreateFilePlayer(uint32_t instanceID,
 | 
| +                                         FileFormats fileFormat) {
 | 
| +  switch (fileFormat) {
 | 
| +    case kFileFormatWavFile:
 | 
| +    case kFileFormatCompressedFile:
 | 
| +    case kFileFormatPreencodedFile:
 | 
| +    case kFileFormatPcm16kHzFile:
 | 
| +    case kFileFormatPcm8kHzFile:
 | 
| +    case kFileFormatPcm32kHzFile:
 | 
| +      // audio formats
 | 
| +      return new FilePlayerImpl(instanceID, fileFormat);
 | 
| +    default:
 | 
| +      assert(false);
 | 
| +      return NULL;
 | 
| +  }
 | 
| +}
 | 
| +
 | 
| +void FilePlayer::DestroyFilePlayer(FilePlayer* player) {
 | 
| +  delete player;
 | 
| +}
 | 
| +
 | 
|  }  // namespace webrtc
 | 
| 
 |