Setting since_tizen 3/4 on Tizen.NET API
[platform/core/csapi/tizenfx.git] / src / Tizen.Multimedia.Recorder / Recorder / AudioStreamStoringEventArgs.cs
1 /*
2  * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved
3  *
4  * Licensed under the Apache License, Version 2.0 (the License);
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an AS IS BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 using System;
18
19 namespace Tizen.Multimedia
20 {
21     /// <summary>
22     /// Provides data for the <see cref="Recorder.AudioStreamStoring"/> event.
23     /// </summary>
24     /// <since_tizen> 4 </since_tizen>
25     public class AudioStreamStoringEventArgs : EventArgs
26     {
27         internal AudioStreamStoringEventArgs(IMediaBuffer stream, AudioSampleType type, int channel,
28             uint recordingTime)
29         {
30             Stream = stream;
31             Type = type;
32             Channels = channel;
33             Timestamp = recordingTime;
34         }
35
36         /// <summary>
37         /// Gets the audio stream buffer.
38         /// </summary>
39         /// <remarks>
40         /// If the stream is modified in the event handler, the modified data will be stored.<br/>
41         /// <br/>
42         /// The buffer is only valid in the event.<br/>
43         /// Any attempt to access to this buffer after the event ends will throw an exception.
44         /// </remarks>
45         /// <since_tizen> 4 </since_tizen>
46         public IMediaBuffer Stream { get; }
47
48         /// <summary>
49         /// Gets the audio format type.
50         /// </summary>
51         /// <since_tizen> 4 </since_tizen>
52         public AudioSampleType Type { get; }
53
54         /// <summary>
55         /// Gets the number of channels.
56         /// </summary>
57         /// <since_tizen> 4 </since_tizen>
58         public int Channels { get; }
59
60         /// <summary>
61         /// Gets the timestamp(PTS) of stream buffer in milliseconds.
62         /// </summary>
63         /// <since_tizen> 4 </since_tizen>
64         public long Timestamp { get; }
65     }
66 }