OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 [DartPackage="mojo_services"] | 5 [DartPackage="mojo_services"] |
6 module mojo.media; | 6 module mojo.media; |
7 | 7 |
8 import "mojo/services/media/common/interfaces/media_common.mojom"; | 8 import "mojo/services/media/common/interfaces/media_common.mojom"; |
9 import "mojo/services/media/common/interfaces/media_transport.mojom"; | 9 import "mojo/services/media/common/interfaces/media_transport.mojom"; |
10 import "mojo/services/media/common/interfaces/media_types.mojom"; | 10 import "mojo/services/media/common/interfaces/media_types.mojom"; |
(...skipping 16 matching lines...) Expand all Loading... |
27 // For some, however, it may be more convenient to use different units for | 27 // For some, however, it may be more convenient to use different units for |
28 // media time. For example, if the audio frame rate was 48KHz, and the time | 28 // media time. For example, if the audio frame rate was 48KHz, and the time |
29 // stamps are expressed in 90KHz units (the units used by MPEG-2 Program | 29 // stamps are expressed in 90KHz units (the units used by MPEG-2 Program |
30 // Stream timestamps), the ratio should be set to 48000:90000 (aka, 8:15). | 30 // Stream timestamps), the ratio should be set to 48000:90000 (aka, 8:15). |
31 // IOW - audio_frame_ratio would be set to 8 and media_time_ratio would be set | 31 // IOW - audio_frame_ratio would be set to 8 and media_time_ratio would be set |
32 // to 15. | 32 // to 15. |
33 // | 33 // |
34 // Neither of these values may be 0. A configuration error will occur if they | 34 // Neither of these values may be 0. A configuration error will occur if they |
35 // are. | 35 // are. |
36 uint32 audio_frame_ratio = 1; | 36 uint32 audio_frame_ratio = 1; |
37 uint32 media_time_ratio = 1; | 37 uint32 media_time_ratio = 1; |
38 }; | 38 }; |
39 | 39 |
40 interface AudioTrack { | 40 interface AudioTrack { |
41 // A special value which will always cause a track to become explicitly muted. | 41 // A special value which will always cause a track to become explicitly muted. |
42 const float kMutedGain = -160.0; | 42 const float kMutedGain = -160.0; |
43 | 43 |
44 // The maximum permitted above-unity gain. | 44 // The maximum permitted above-unity gain. |
45 const float kMaxGain = 20.0; | 45 const float kMaxGain = 20.0; |
46 | 46 |
47 // Get the descriptor. | 47 // Get the descriptor. |
48 Describe() => (AudioTrackDescriptor descriptor); | 48 Describe() => (AudioTrackDescriptor descriptor); |
49 | 49 |
50 // Set the configuration, receive a pipe to send data to in return. | 50 // Set the configuration, receive a pipe to send data to in return. |
51 Configure(AudioTrackConfiguration configuration, MediaConsumer& pipe); | 51 Configure(AudioTrackConfiguration configuration, MediaConsumer& pipe); |
52 | 52 |
53 // Request the rate control interface for this AudioTrack | 53 // Request the rate control interface for this AudioTrack |
54 GetRateControl(RateControl& rate_control); | 54 GetRateControl(RateControl& rate_control); |
55 | 55 |
56 // Sets the current gain/attenuation of the track, expressed in dB. Legal | 56 // Sets the current gain/attenuation of the track, expressed in dB. Legal |
57 // values are in the range [-inf, 20.0]. Any value less than or equal to the | 57 // values are in the range [-inf, 20.0]. Any value less than or equal to the |
58 // constant kMutedGain will result in the track becoming explicitly muted | 58 // constant kMutedGain will result in the track becoming explicitly muted |
59 // (regardless of its underlying resolution or intensity). | 59 // (regardless of its underlying resolution or intensity). |
60 SetGain(float db_gain); | 60 SetGain(float db_gain); |
61 }; | 61 }; |
OLD | NEW |