Ocean
Loading...
Searching...
No Matches
MFAudio.h
Go to the documentation of this file.
1/*
2 * Copyright (c) Meta Platforms, Inc. and affiliates.
3 *
4 * This source code is licensed under the MIT license found in the
5 * LICENSE file in the root directory of this source tree.
6 */
7
8#ifndef META_OCEAN_MEDIA_MF_AUDIO_H
9#define META_OCEAN_MEDIA_MF_AUDIO_H
10
14
15#include "ocean/media/Audio.h"
16
17namespace Ocean
18{
19
20namespace Media
21{
22
23namespace MediaFoundation
24{
25
26/**
27 * This class implements a Media Foundation audio object.
28 * @ingroup mediamf
29 */
30class OCEAN_MEDIA_MF_EXPORT MFAudio :
31 public virtual MFFiniteMedium,
32 public virtual MFSoundMedium,
33 public virtual Audio
34{
35 friend class MFLibrary;
36
37 public:
38
39 /**
40 * Clones this medium and returns a new independent instance of this medium.
41 * @see Medium::clone().
42 */
43 MediumRef clone() const override;
44
45 protected:
46
47 /**
48 * Creates a new audio by a given url.
49 * @param url The URL of the audio
50 */
51 explicit MFAudio(const std::string& url);
52
53 /**
54 * Destructs a MFAudio object.
55 */
56 ~MFAudio() override;
57
58 /**
59 * Creates and builds the topology of this object.
60 * @see MFMedium::createTopology().
61 */
62 bool createTopology(const bool respectPlaybackTime) override;
63
64 /**
65 * Releases the topology.
66 */
67 void releaseTopology() override;
68};
69
70}
71
72}
73
74}
75
76#endif // META_OCEAN_MEDIA_DS_AUDIO_H
This class is the base class for all audio mediums.
Definition Audio.h:38
This class implements a Media Foundation audio object.
Definition MFAudio.h:34
MediumRef clone() const override
Clones this medium and returns a new independent instance of this medium.
~MFAudio() override
Destructs a MFAudio object.
void releaseTopology() override
Releases the topology.
bool createTopology(const bool respectPlaybackTime) override
Creates and builds the topology of this object.
MFAudio(const std::string &url)
Creates a new audio by a given url.
This class is the base class for all Media Foundation finite mediums.
Definition MFFiniteMedium.h:34
This class implements the MediaFoundation library.
Definition MFLibrary.h:30
This class is the base class for all MediaFoundation sound mediums.
Definition MFSoundMedium.h:34
The namespace covering the entire Ocean framework.
Definition Accessor.h:15