Ocean
LiveMedium.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_LIVE_MEDIUM_H
9 #define META_OCEAN_MEDIA_LIVE_MEDIUM_H
10 
11 #include "ocean/media/Media.h"
12 #include "ocean/media/Medium.h"
14 
15 namespace Ocean
16 {
17 
18 namespace Media
19 {
20 
21 // Forward declaration.
22 class LiveMedium;
23 
24 /**
25  * Definition of a smart medium reference holding a live medium object.
26  * @see SmartMediumRef, LiveMedium.
27  * @ingroup media
28  */
30 
31 /**
32  * This class it the base class for all live mediums.
33  * @ingroup media
34  */
35 class OCEAN_MEDIA_EXPORT LiveMedium :
36  public virtual Medium,
37  public virtual ConfigMedium
38 {
39  protected:
40 
41  /**
42  * Creates a new live medium by a given url.
43  */
44  explicit LiveMedium(const std::string& url);
45 };
46 
47 }
48 
49 }
50 
51 #endif // META_OCEAN_MEDIA_LIVE_MEDIUM_H
This class is the base class for all mediums with advanced configuration possibilities.
Definition: ConfigMedium.h:38
This class it the base class for all live mediums.
Definition: LiveMedium.h:38
LiveMedium(const std::string &url)
Creates a new live medium by a given url.
This is the base class for all mediums.
Definition: Medium.h:48
This class implements a smart medium reference.
Definition: MediumRef.h:33
SmartMediumRef< LiveMedium > LiveMediumRef
Definition of a smart medium reference holding a live medium object.
Definition: LiveMedium.h:22
The namespace covering the entire Ocean framework.
Definition: Accessor.h:15