Ocean
Loading...
Searching...
No Matches
DSAudio.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_DS_AUDIO_H
9#define META_OCEAN_MEDIA_DS_AUDIO_H
10
14
15#include "ocean/media/Audio.h"
16
17namespace Ocean
18{
19
20namespace Media
21{
22
23namespace DirectShow
24{
25
26/**
27 * This class implements a DirectShow audio object.
28 * @ingroup mediads
29 */
30class OCEAN_MEDIA_DS_EXPORT DSAudio :
31 public virtual DSFiniteMedium,
32 public virtual DSSoundMedium,
33 public virtual Audio
34{
35 friend class DSLibrary;
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 DSAudio(const std::string& url);
52
53 /**
54 * Destructs a DSAudio object.
55 */
56 ~DSAudio() override;
57
58 /**
59 * Builds the entire filter graph.
60 * @see DSGraphObject::buildGraph().
61 */
62 bool buildGraph() override;
63
64 /**
65 * Releases the entire filter graph.
66 * @see DSGraphObject::releaseGraph().
67 */
68 void releaseGraph() override;
69};
70
71}
72
73}
74
75}
76
77#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 DirectShow audio object.
Definition DSAudio.h:34
bool buildGraph() override
Builds the entire filter graph.
~DSAudio() override
Destructs a DSAudio object.
DSAudio(const std::string &url)
Creates a new audio by a given url.
void releaseGraph() override
Releases the entire filter graph.
MediumRef clone() const override
Clones this medium and returns a new independent instance of this medium.
This class is the base class for all direct show finite mediums.
Definition DSFiniteMedium.h:34
This class implements the DirectShow library.
Definition DSLibrary.h:30
This class is the base class for all DirectShow sound mediums.
Definition DSSoundMedium.h:35
The namespace covering the entire Ocean framework.
Definition Accessor.h:15