Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
ミラティブとWebRTC - WebRTC framework の中身を覗いてみよう / WebRTC framework AudioUnit Processing
naru-jpn
July 29, 2021
Programming
1
960
ミラティブとWebRTC - WebRTC framework の中身を覗いてみよう / WebRTC framework AudioUnit Processing
WebRTC framework の中身がわからなくて近付くのが怖かったけど、少しだけわかりあえた話
naru-jpn
July 29, 2021
Tweet
Share
More Decks by naru-jpn
See All by naru-jpn
Updating an App to Use Swift Concurrency 解説
narujpn
1
38
PiP で実現するミラティブの配信コメントバー / pip-streaming-comment-bar
narujpn
0
360
App Extension のスタックトレース情報からクラッシュを解析/集計する / Analyzing app extension's stack trace
narujpn
3
480
CoreML3のオンデバイストレーニングでつくる母音推定
narujpn
0
240
AltConfと周辺の歩き方
narujpn
0
1.6k
エンジニア経験を活かしたスクラムマスターとして 開発チームとプロダクトを成長させる
narujpn
1
290
GASで作るファネル分析ツール
narujpn
1
94
Quick Tour of Sessions about Metal
narujpn
0
610
Beyond WWDC + try! Swift San Jose
narujpn
2
580
Other Decks in Programming
See All in Programming
回帰分析ではlm()ではなくestimatr::lm_robust()を使おう / TokyoR100
dropout009
0
4.6k
このタイミングで知っておきたい 開発生産性の高いエンジニア組織の特徴とは / dev-sumi-20220721-productivity-features
findyinc
7
2.7k
ベストプラクティス・ドリフト
sssssssssssshhhhhhhhhh
1
210
段階的な技術的負債の解消方法.pdf
ko2ic
2
940
Edge Side Frontend という新領域
mizchi
24
10k
Isar勉強会
hoddy3190
0
510
Scaling Productivity- How we have improved our dev experience
sockeqwe
1
120
パラメタライズドテスト
ledsun
0
220
Amazon Lookout for Visionで 筆跡鑑定してみた
cmnakamurashogo
0
170
読みやすいコード クラスメソッド 2022 年度新卒研修
januswel
0
2.9k
OSS貢献を気軽にしたい Let's Go Talk #1
yuyaabo
2
240
Introduction to Property-Based Testing @ COSCUP 2022
cybai
1
150
Featured
See All Featured
Agile that works and the tools we love
rasmusluckow
319
19k
No one is an island. Learnings from fostering a developers community.
thoeni
9
1.3k
Pencils Down: Stop Designing & Start Developing
hursman
113
9.8k
Designing for humans not robots
tammielis
242
24k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
226
15k
A Tale of Four Properties
chriscoyier
149
21k
Clear Off the Table
cherdarchuk
79
290k
The Mythical Team-Month
searls
210
39k
What’s in a name? Adding method to the madness
productmarketing
11
1.6k
The Illustrated Children's Guide to Kubernetes
chrisshort
18
40k
Why You Should Never Use an ORM
jnunemaker
PRO
47
7.7k
The Web Native Designer (August 2011)
paulrobertlloyd
75
2k
Transcript
ϛϥςΟϒͱWebRTC WebRTC framework ͷதΛ͍ͯΈΑ͏ Naruki Chigira @_naru_jpn / Lib arXiv
/ ໌ϫΫνϯ2ճ
WebRTC framework
https://webrtc.org
WebRTC ϛϥςΟϒͷͲ͜ͰΘΕ͍ͯΔͷ͔
ίϥϘ௨ ৴ऀ ࢹௌऀ ࢹௌऀͱձΛ͠ͳ͕Β৴͕Ͱ͖ΔΑ
ίϥϘ৴ ৴ऀ A ৴ऀ B ৴ऀಉ࢜ͰձΛ͠ͳ͕Β৴͕Ͱ͖ΔΑ
NEW! ίϥϘϚονϯά ৴ऀ A ৴ऀ B ಉ͡ήʔϜͰ৴͍ͯ͠Δਓಉ࢜ͰϚονϯά͢ΔʢҰ෦ެ։
։ൃ͢ΔதͰͪΐͬͱࠔͬͨ͜ͱ͕͋ͬͨ
৴ऀ ࢹௌऀ WebRTC ͷଓ࣌ʹΞϓϦ͕όοΫάϥϯυঢ়ଶʹ͋ΔͱɺԻͷೖग़ྗ͕Ͱ͖ͳ͘ͳͬͯ͠·͏ ϛϥςΟϒΞϓϦ όοΫάϥϯυͰ ىಈத
όοΫάϥϯυͰଓػঢ়ଶΛ Ωϟϯηϧ͢ΔͳͲͯ͠ɺ੍ޚͰ͖ͨ
ػೳ্੍ޚͰ͖͍ͯΔ͚Ͳɺ Ͳ͏ͯͦ͠͏ͳ͍ͬͯΔͷ͔ཧղͰ͖͍ͯͳ͍ͷͰ৮Δͷ͕ා͍!
WebRTC framework ͷதΛ͍ͯΈΑ͏!
https://webrtc.googlesource.com/src/
https://webrtc.googlesource.com/src/
https://webrtc.googlesource.com/src/+/refs/heads/main
Իͷ੍ޚΛ͍ͯ͠Δͱ͜ΖΛ͍ͯΈΑ͏!
https://webrtc.googlesource.com/src/+/refs/heads/main/sdk/objc/ This directory contains the Obj-C SDK for WebRTC. This
includes wrappers for the C++ PeerConnection API and some platform speci fi c components for iOS and macOS.
https://webrtc.googlesource.com/src/+/refs/heads/main/sdk/objc/native/src/audio/ .mm ͍ͬͯ͏ͷ Objective-C++ Λද֦͢ுࢠͩΑ
https://webrtc.googlesource.com/src/+/refs/heads/main/sdk/objc/native/src/audio/voice_processing_audio_unit.mm AudioOutputUnitStart ΛݺͿͱԻͷೖग़ྗॲཧ͕͡·ΔΑ voice_processing_audio_unit.mm
https://developer.apple.com/documentation/audiotoolbox/1439763-audiooutputunitstart AudioOutputUnitStart ΛݺͿͱԻͷೖग़ྗॲཧ͕͡·ΔΑ
AudioOutputUnitStart ͷৼΔ͍ΛௐͯΈΑ͏
https://stackover fl ow.com/questions/61312360/auaudiounit-cant-play-audio-in-the-background-error-code-561145187
https://developer.apple.com/documentation/avfaudio/avaudiosession/errorcode/cannotstartrecording
AudioOutputUnitStart ͕όοΫάϥϯυͰࣦഊ͢ ΔͷɺOSͷ༷తʹͦ͏ͳ͍ͬͯΔΒ͍͠!
AudioOutputUnitStart ͕͍ͭݺΕ͍ͯΔͷ͔֬ೝ͓ͯ͜͠͏
https://webrtc.googlesource.com/src/+/refs/heads/main/audio/audio_state.cc WebRTC ͷଓཱ͕֬ͨ͠ޙʹ AddReceivingStream ͕ݺΕɺ StartPlayout ͷதͰ AudioOutputUnitStart ͕ݺΕΔ
ΞϓϦ͕όοΫάϥϯυঢ়ଶͩͱɺԻͷೖग़ྗॲ ཧͷ։࢝ʹࣦഊͯ͠͠·͏͜ͱ͕ཧղͰ͖ͨ!
·ͱΊ όοΫάϥϯυͰԻͷΓͱΓ͕Ͱ͖ͳ͘ͳΔݱ͕ɺί ʔυϨϕϧͰཧղͰ͖ΔΑ͏ʹͳͬͨ ɾݪҼ͕Θ͔ͬͯɺͳͥͳͷ͔Λઆ໌Ͱ͖ΔΑ͏ʹͳͬͨ ɾWebRTC framework ͱগ͚ͩ͠ྑ͘ͳΕͨ
͋Γ͕ͱ͏͍͟͝·ͨ͠! WE ARE HIRING! ੵۃ࠾༻தͩΑ!