Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(513)

Side by Side Diff: webrtc/modules/media_file/source/media_file_impl.h

Issue 1435093002: Remove include dirs from modules/{media_file,pacing} (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Rebase fix Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 /*
2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
3 *
4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree.
9 */
10
11 #ifndef WEBRTC_MODULES_MEDIA_FILE_SOURCE_MEDIA_FILE_IMPL_H_
12 #define WEBRTC_MODULES_MEDIA_FILE_SOURCE_MEDIA_FILE_IMPL_H_
13
14 #include "webrtc/common_types.h"
15 #include "webrtc/modules/include/module_common_types.h"
16 #include "webrtc/modules/media_file/include/media_file.h"
17 #include "webrtc/modules/media_file/include/media_file_defines.h"
18 #include "webrtc/modules/media_file/source/media_file_utility.h"
19 #include "webrtc/system_wrappers/include/critical_section_wrapper.h"
20
21 namespace webrtc {
22 class MediaFileImpl : public MediaFile
23 {
24
25 public:
26 MediaFileImpl(const int32_t id);
27 ~MediaFileImpl();
28
29 int32_t Process() override;
30 int64_t TimeUntilNextProcess() override;
31
32 // MediaFile functions
33 int32_t PlayoutAudioData(int8_t* audioBuffer,
34 size_t& dataLengthInBytes) override;
35
36 int32_t PlayoutStereoData(int8_t* audioBufferLeft,
37 int8_t* audioBufferRight,
38 size_t& dataLengthInBytes) override;
39
40 int32_t StartPlayingAudioFile(
41 const char* fileName,
42 const uint32_t notificationTimeMs = 0,
43 const bool loop = false,
44 const FileFormats format = kFileFormatPcm16kHzFile,
45 const CodecInst* codecInst = NULL,
46 const uint32_t startPointMs = 0,
47 const uint32_t stopPointMs = 0) override;
48
49 int32_t StartPlayingAudioStream(
50 InStream& stream,
51 const uint32_t notificationTimeMs = 0,
52 const FileFormats format = kFileFormatPcm16kHzFile,
53 const CodecInst* codecInst = NULL,
54 const uint32_t startPointMs = 0,
55 const uint32_t stopPointMs = 0) override;
56
57 int32_t StopPlaying() override;
58
59 bool IsPlaying() override;
60
61 int32_t PlayoutPositionMs(uint32_t& positionMs) const override;
62
63 int32_t IncomingAudioData(const int8_t* audioBuffer,
64 const size_t bufferLength) override;
65
66 int32_t StartRecordingAudioFile(const char* fileName,
67 const FileFormats format,
68 const CodecInst& codecInst,
69 const uint32_t notificationTimeMs = 0,
70 const uint32_t maxSizeBytes = 0) override;
71
72 int32_t StartRecordingAudioStream(
73 OutStream& stream,
74 const FileFormats format,
75 const CodecInst& codecInst,
76 const uint32_t notificationTimeMs = 0) override;
77
78 int32_t StopRecording() override;
79
80 bool IsRecording() override;
81
82 int32_t RecordDurationMs(uint32_t& durationMs) override;
83
84 bool IsStereo() override;
85
86 int32_t SetModuleFileCallback(FileCallback* callback) override;
87
88 int32_t FileDurationMs(const char* fileName,
89 uint32_t& durationMs,
90 const FileFormats format,
91 const uint32_t freqInHz = 16000) override;
92
93 int32_t codec_info(CodecInst& codecInst) const override;
94
95 private:
96 // Returns true if the combination of format and codecInst is valid.
97 static bool ValidFileFormat(const FileFormats format,
98 const CodecInst* codecInst);
99
100
101 // Returns true if the filename is valid
102 static bool ValidFileName(const char* fileName);
103
104 // Returns true if the combination of startPointMs and stopPointMs is valid.
105 static bool ValidFilePositions(const uint32_t startPointMs,
106 const uint32_t stopPointMs);
107
108 // Returns true if frequencyInHz is a supported frequency.
109 static bool ValidFrequency(const uint32_t frequencyInHz);
110
111 void HandlePlayCallbacks(int32_t bytesRead);
112
113 int32_t StartPlayingStream(
114 InStream& stream,
115 bool loop,
116 const uint32_t notificationTimeMs,
117 const FileFormats format,
118 const CodecInst* codecInst,
119 const uint32_t startPointMs,
120 const uint32_t stopPointMs);
121
122 int32_t _id;
123 CriticalSectionWrapper* _crit;
124 CriticalSectionWrapper* _callbackCrit;
125
126 ModuleFileUtility* _ptrFileUtilityObj;
127 CodecInst codec_info_;
128
129 InStream* _ptrInStream;
130 OutStream* _ptrOutStream;
131
132 FileFormats _fileFormat;
133 uint32_t _recordDurationMs;
134 uint32_t _playoutPositionMs;
135 uint32_t _notificationMs;
136
137 bool _playingActive;
138 bool _recordingActive;
139 bool _isStereo;
140 bool _openFile;
141
142 char _fileName[512];
143
144 FileCallback* _ptrCallback;
145 };
146 } // namespace webrtc
147
148 #endif // WEBRTC_MODULES_MEDIA_FILE_SOURCE_MEDIA_FILE_IMPL_H_
OLDNEW
« no previous file with comments | « webrtc/modules/media_file/source/OWNERS ('k') | webrtc/modules/media_file/source/media_file_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698