Skip to content

Commit 1b3aef5

Browse files
authored
Readme update (#3)
* Update license and readme
1 parent 053dc97 commit 1b3aef5

File tree

2 files changed

+121
-137
lines changed

2 files changed

+121
-137
lines changed

LICENSE

+21-121
Original file line numberDiff line numberDiff line change
@@ -1,121 +1,21 @@
1-
Creative Commons Legal Code
2-
3-
CC0 1.0 Universal
4-
5-
CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
6-
LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN
7-
ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
8-
INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
9-
REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS
10-
PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM
11-
THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED
12-
HEREUNDER.
13-
14-
Statement of Purpose
15-
16-
The laws of most jurisdictions throughout the world automatically confer
17-
exclusive Copyright and Related Rights (defined below) upon the creator
18-
and subsequent owner(s) (each and all, an "owner") of an original work of
19-
authorship and/or a database (each, a "Work").
20-
21-
Certain owners wish to permanently relinquish those rights to a Work for
22-
the purpose of contributing to a commons of creative, cultural and
23-
scientific works ("Commons") that the public can reliably and without fear
24-
of later claims of infringement build upon, modify, incorporate in other
25-
works, reuse and redistribute as freely as possible in any form whatsoever
26-
and for any purposes, including without limitation commercial purposes.
27-
These owners may contribute to the Commons to promote the ideal of a free
28-
culture and the further production of creative, cultural and scientific
29-
works, or to gain reputation or greater distribution for their Work in
30-
part through the use and efforts of others.
31-
32-
For these and/or other purposes and motivations, and without any
33-
expectation of additional consideration or compensation, the person
34-
associating CC0 with a Work (the "Affirmer"), to the extent that he or she
35-
is an owner of Copyright and Related Rights in the Work, voluntarily
36-
elects to apply CC0 to the Work and publicly distribute the Work under its
37-
terms, with knowledge of his or her Copyright and Related Rights in the
38-
Work and the meaning and intended legal effect of CC0 on those rights.
39-
40-
1. Copyright and Related Rights. A Work made available under CC0 may be
41-
protected by copyright and related or neighboring rights ("Copyright and
42-
Related Rights"). Copyright and Related Rights include, but are not
43-
limited to, the following:
44-
45-
i. the right to reproduce, adapt, distribute, perform, display,
46-
communicate, and translate a Work;
47-
ii. moral rights retained by the original author(s) and/or performer(s);
48-
iii. publicity and privacy rights pertaining to a person's image or
49-
likeness depicted in a Work;
50-
iv. rights protecting against unfair competition in regards to a Work,
51-
subject to the limitations in paragraph 4(a), below;
52-
v. rights protecting the extraction, dissemination, use and reuse of data
53-
in a Work;
54-
vi. database rights (such as those arising under Directive 96/9/EC of the
55-
European Parliament and of the Council of 11 March 1996 on the legal
56-
protection of databases, and under any national implementation
57-
thereof, including any amended or successor version of such
58-
directive); and
59-
vii. other similar, equivalent or corresponding rights throughout the
60-
world based on applicable law or treaty, and any national
61-
implementations thereof.
62-
63-
2. Waiver. To the greatest extent permitted by, but not in contravention
64-
of, applicable law, Affirmer hereby overtly, fully, permanently,
65-
irrevocably and unconditionally waives, abandons, and surrenders all of
66-
Affirmer's Copyright and Related Rights and associated claims and causes
67-
of action, whether now known or unknown (including existing as well as
68-
future claims and causes of action), in the Work (i) in all territories
69-
worldwide, (ii) for the maximum duration provided by applicable law or
70-
treaty (including future time extensions), (iii) in any current or future
71-
medium and for any number of copies, and (iv) for any purpose whatsoever,
72-
including without limitation commercial, advertising or promotional
73-
purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each
74-
member of the public at large and to the detriment of Affirmer's heirs and
75-
successors, fully intending that such Waiver shall not be subject to
76-
revocation, rescission, cancellation, termination, or any other legal or
77-
equitable action to disrupt the quiet enjoyment of the Work by the public
78-
as contemplated by Affirmer's express Statement of Purpose.
79-
80-
3. Public License Fallback. Should any part of the Waiver for any reason
81-
be judged legally invalid or ineffective under applicable law, then the
82-
Waiver shall be preserved to the maximum extent permitted taking into
83-
account Affirmer's express Statement of Purpose. In addition, to the
84-
extent the Waiver is so judged Affirmer hereby grants to each affected
85-
person a royalty-free, non transferable, non sublicensable, non exclusive,
86-
irrevocable and unconditional license to exercise Affirmer's Copyright and
87-
Related Rights in the Work (i) in all territories worldwide, (ii) for the
88-
maximum duration provided by applicable law or treaty (including future
89-
time extensions), (iii) in any current or future medium and for any number
90-
of copies, and (iv) for any purpose whatsoever, including without
91-
limitation commercial, advertising or promotional purposes (the
92-
"License"). The License shall be deemed effective as of the date CC0 was
93-
applied by Affirmer to the Work. Should any part of the License for any
94-
reason be judged legally invalid or ineffective under applicable law, such
95-
partial invalidity or ineffectiveness shall not invalidate the remainder
96-
of the License, and in such case Affirmer hereby affirms that he or she
97-
will not (i) exercise any of his or her remaining Copyright and Related
98-
Rights in the Work or (ii) assert any associated claims and causes of
99-
action with respect to the Work, in either case contrary to Affirmer's
100-
express Statement of Purpose.
101-
102-
4. Limitations and Disclaimers.
103-
104-
a. No trademark or patent rights held by Affirmer are waived, abandoned,
105-
surrendered, licensed or otherwise affected by this document.
106-
b. Affirmer offers the Work as-is and makes no representations or
107-
warranties of any kind concerning the Work, express, implied,
108-
statutory or otherwise, including without limitation warranties of
109-
title, merchantability, fitness for a particular purpose, non
110-
infringement, or the absence of latent or other defects, accuracy, or
111-
the present or absence of errors, whether or not discoverable, all to
112-
the greatest extent permissible under applicable law.
113-
c. Affirmer disclaims responsibility for clearing rights of other persons
114-
that may apply to the Work or any use thereof, including without
115-
limitation any person's Copyright and Related Rights in the Work.
116-
Further, Affirmer disclaims responsibility for obtaining any necessary
117-
consents, permissions or other rights required for any use of the
118-
Work.
119-
d. Affirmer understands and acknowledges that Creative Commons is not a
120-
party to this document and has no duty or obligation with respect to
121-
this CC0 or use of the Work.
1+
MIT License
2+
3+
Copyright (c) 2023 Dolby Laboratories
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

README.md

+100-16
Original file line numberDiff line numberDiff line change
@@ -6,36 +6,118 @@
66
77
Adding shields would also be amazing -->
88

9-
# Title of Repo
10-
One sentence linking to the tutorial and what this repo is for.
9+
# Dolby.io Real-time Streaming UIKit for iOS
1110

1211
# Overview
13-
Two or three sentences describing the overall output.
12+
The Dolby.io Real-time Streaming UIKit for iOS is design to help iOS developers reduce the complexity of building a Dolby.io Real-time Streaming monitoring applications for iOS.
1413

15-
# Requirements
16-
List any hardware, software, or library dependencies the users would have to install to follow the tutorial or use the sample project.
14+
The package consists of three components:
15+
* `DolbyIORTSUIKit`: The high-level UI components can be used to develop a real-time streaming monitoring app for iOS with Dolby.io.
16+
* `DolbyIORTSCore`: The logic between `DolbyIORTSUIKit` and Dolby.io Real-time Streaming iOS SDK.
17+
* `DolbyUIUIKIt`: The basic UI components used by `DolbyIORTSUIKit`.
1718

18-
# Getting Started
19-
A good area to mention they should sign up for Dolby.io to use the APIs, the free 50GBs, or anything they should have to follow along
19+
> **_Info:_** There are two parties in a real-time streaming. A publisher who broadcasts a streaming. A monitor(viewer) who consumes a streaming. This UIKit is targeting to a monitor who consumes a streaming.
2020
21-
# Report a Bug
22-
In the case any bugs occur, report it using Github issues, and we will see to it.
21+
# Requirements
2322

24-
# Forking
25-
We welcome your interest in trying to experiment with our repos.
23+
This setup guide is validated on both Intel/M1-based MacBook Pro running macOS 13.4.
2624

27-
# Feedback
28-
If there are any suggestions or if you would like to deliver any positive notes, feel free to open an issue and let us know!
25+
- Xcode Version 14.3.1 (14E300c)
26+
- iPhone device or simulator running iOS 15.0
2927

30-
# Learn More
31-
For a deeper dive, we welcome you to review the following:
32-
*bulleted list of blogs or docs pages that might be useful*
28+
# Getting Started
3329

30+
This guide demostrates how to use the Real-time Streaming UI components to quickly build a Real-time Steaming monitoring app on an iOS device.
31+
32+
## Build a Sample App
33+
34+
Get started by a working sample app, see below.
35+
36+
* Create a new Xcode project
37+
* Choose the iOS App as template
38+
* Fill in the Product Name
39+
* Select "SwiftUI" as Interface
40+
* Select "Swift" as Language
41+
* Create the project in a folder
42+
* Add this UIKit as dependencies to the newly created project.
43+
* Go to File > Add Packages...
44+
* Put the URL of this repo in the pop-up window's top-right corner text field
45+
* Use `Up to Next Major Version` in the Dependency Rule
46+
* Click the `Add Package` button
47+
* Choose and add this packages `DolbyIORTSCore`, `DolbyIORTSUIKit`, and `DolbyIOUIKIt` to the target
48+
* Click the `Add Package` button
49+
* Copy and replace the code to ContentView.swift
50+
* Compile and Run on an iOS target
51+
52+
53+
```swift
54+
import SwiftUI
55+
56+
// 1. Include Dolby.io UIKit and related packages
57+
import DolbyIORTSCore
58+
import DolbyIORTSUIKit
59+
60+
struct ContentView: View {
61+
// 2. State to show the real-time streaming or not
62+
@State private var showStream = false
63+
64+
var body: some View {
65+
NavigationView {
66+
ZStack {
67+
68+
// 3. Navigation link to the streaming screen if `showStream` is true
69+
NavigationLink(destination: StreamingScreen(isShowingStreamView: $showStream), isActive: $showStream) { EmptyView() }
70+
Button ("Start Stream") {
71+
72+
// 4. Asynchronize task connects the publisher with the given stream name and account ID. The stream name and
73+
// account ID pair here is from a demo stream. It can be replaced by a pair being given by a publisher who has
74+
// signed-up up the Dolby.io service.
75+
Task {
76+
let success = await StreamCoordinator.shared.connect(streamName: "multiview", accountID: "k9Mwad")
77+
78+
// 5. Show the real-time streaming if connect successfully
79+
await MainActor.run { showStream = success }
80+
}
81+
}
82+
}.preferredColorScheme(.dark)
83+
}
84+
}
85+
}
86+
87+
struct ContentView_Previews: PreviewProvider {
88+
static var previews: some View {
89+
ContentView()
90+
}
91+
}
92+
```
93+
94+
95+
## Get a Dolby.io account
96+
97+
To publish a real-time stream, a Dolby.io account is necessary
98+
99+
- A [Dolby.io](https://dashboard.dolby.io/signup/) account
100+
- Start a video streaming broadcasting, see [here](https://docs.dolby.io/streaming-apis/docs/how-to-broadcast-in-dashboard)
101+
- The Stream name and Account ID pair from the video streaming above
102+
103+
To setup your Dolby.io account, go to the [Dolby.io dashboard](https://dashboard.dolby.io/signup/) and complete the form. After confirming your email address, you will be logged in.
104+
105+
## Installation
106+
107+
This UIKit package uses Swift Packages. You can add this package site URL as dependencies to your app. Detail can be find [here](https://developer.apple.com/documentation/xcode/swift-packages)
108+
109+
> **_Info:_** The main branch is constantly under development. Get a tagged branch for a stable release.
110+
111+
## License
112+
113+
The Dolby.io Real-time UIKit for iOS and its repository are licensed under the MIT License. Before using this, please review and accept the [Dolby Software License Agreement](LICENSE).
34114

35115
# About Dolby.io
36116

37117
Using decades of Dolby's research in sight and sound technology, Dolby.io provides APIs to integrate real-time streaming, voice & video communications, and file-based media processing into your applications. [Sign up for a free account](https://dashboard.dolby.io/signup/) to get started building the next generation of immersive, interactive, and social apps.
38118

119+
© Dolby, 2023
120+
39121
<div align="center">
40122
<a href="https://dolby.io/" target="_blank"><img src="https://img.shields.io/badge/Dolby.io-0A0A0A?style=for-the-badge&logo=dolby&logoColor=white"/></a>
41123
&nbsp; &nbsp; &nbsp;
@@ -52,3 +134,5 @@ Using decades of Dolby's research in sight and sound technology, Dolby.io provid
52134
&nbsp; &nbsp; &nbsp;
53135
<a href="https://www.linkedin.com/company/dolbyio/" target="_blank"><img src="https://img.shields.io/badge/LinkedIn-0077B5?style=flat-square&logo=linkedin&logoColor=white" alt="Dolby.io on LinkedIn"/></a>
54136
</div>
137+
138+

0 commit comments

Comments
 (0)