Lukas Herman
3787158dba
WIP
2020-10-31 01:12:14 -07:00
Lukas Herman
640eeb0cc0
Fix panic when printing non-reference types
2020-10-30 17:50:55 -07:00
Lukas Herman
16ceb45c25
Replace <nil> -> any in prop pretty format
2020-10-30 17:42:07 -07:00
Lukas Herman
c98b3b0909
Enhance driver discovery logging
2020-10-30 17:32:40 -07:00
Lukas Herman
e6c98a844f
Remove unused fmt
2020-10-30 10:01:07 -07:00
Lukas Herman
2a70c031b8
Remove unwanted logging
2020-10-30 09:04:51 -07:00
Lukas Herman
047013be95
Fix division by 0 when sample rate is not filled
2020-10-30 08:58:46 -07:00
Lukas Herman
765318feb6
Fix webrtc example
2020-10-30 01:19:03 -07:00
Lukas Herman
af6d31fde5
Revert go.mod
v0.1.2
2020-10-30 00:37:38 -07:00
Lukas Herman
2f5e4ee914
New mediadevices design
...
Changelog:
* Better support for non-webrtc use cases
* Enable multiple readers
* Enhance codec selectors
* Update APIs to reflect on the new v3 webrtc design
* Cleaner APIs
2020-10-30 00:33:55 -07:00
Lukas Herman
1720eee38c
Fix unpropagated audio sampling rate from microphones
2020-10-29 22:41:10 -07:00
Lukas Herman
00877c74a0
Add audio latency detection
2020-10-29 22:37:29 -07:00
Lukas Herman
559c6a13a1
Update readers to be memory pool friendly
2020-10-29 00:04:12 -07:00
Lukas Herman
f4a4edcabd
Update codec.Reader interface to return byte slice
2020-10-29 04:48:47 +00:00
Lukas Herman
c8547c4597
Rename simple -> webrtc
2020-10-27 21:13:07 -07:00
Lukas Herman
21bb12dd6b
Reduce examples to increase maintainability
...
Changes:
* Remove facedetection, rtp-send, and screenshare examples
* Rename simple to webrtc
2020-10-27 21:10:50 -07:00
Lukas Herman
fd43659fed
Remove code owners
2020-10-27 21:09:19 -07:00
Lukas Herman
82f33cb572
Skip mmal package in CI
2020-10-27 21:08:12 -07:00
Lukas Herman
4f9822349a
Add mmal hardware video encoder support
...
Using mmal significantly boosts video fps by offloading the encoding
work from CPU to GPU. On a Raspberry Pi 3, libx264 only gives 480p18,
whereas mmal can give 720p30.
2020-10-27 21:08:12 -07:00
Lukas Herman
16bcd0b7dd
Fix step wise resolutions in linux camera
...
Some cameras support a range of resolutions with step wise. The fix is
to not only capture the highest resolutions but uses the step wise to
determine if we can support the hardcoded standard resolutions,
https://commons.wikimedia.org/wiki/File:Vector_Video_Standards2.svg .
In the future, we should use a custom data structure to capture more
resolutions that are outside of the listed standard resolutions.
2020-10-26 21:26:03 -07:00
Lukas Herman
2022a4b7f7
Fix undiscovered some camera devices
...
/dev/v4l/by-path doesn't return all available devices. So, to make sure
that we include all available devices, the list of devices will also
complement with /dev/video*.
2020-10-26 20:22:40 -07:00
Renovate Bot
0b6549eb8f
Update actions/setup-go action to v2
...
Generated by Renovate Bot
2020-10-27 10:26:29 +09:00
Renovate Bot
1b0a237438
Update github.com/jfreymuth/pulse commit hash to 1e525c4
...
Generated by Renovate Bot
2020-10-20 12:40:12 +09:00
Lukas Herman
36edbd9485
Add meta reader helper
...
Since broadcaster has a ring buffer, we can take advantage of this
property to read the meta data for video/audio without losing any data.
2020-10-15 22:28:37 -04:00
Lukas Herman
eb689a3c79
Remove buffer in linux camera
2020-10-15 00:12:55 -04:00
Lukas Herman
e4b1b1aaba
Fix included unsupported formats
2020-10-14 12:18:17 -04:00
Lukas Herman
0f5df05c16
Update lherman-cs/opus to remove libopusfile
2020-10-12 01:32:22 -04:00
Lukas Herman
9dcfaf1c1e
Switch from type alias to embedded struct
...
Embedded struct provides more future compatibility
2020-10-11 23:32:58 -04:00
Lukas Herman
238f190e71
Use MediaDeviceInfo instead of webrtc.RTPCodecType
...
Changes:
* Add unit tests for mediastream
* Remove webrtc.RTPCodecType dependency in mediastream
* Add Kind to Tracker interface
2020-10-11 01:29:59 -04:00
Lukas Herman
0210ec6ca6
Add audio change detection
2020-10-10 23:47:35 -04:00
Lukas Herman
abdd96e6b2
Replace Name with RTPCodec in codec builder
...
Allowing users to implement RTPCodec will give users freedom to have
a custom encoder with custom RTP payload.
2020-10-08 11:33:38 -04:00
Lukas Herman
c9779e7f73
Add audio pull-based broadcast
2020-10-05 22:30:03 -04:00
Lukas Herman
5703fd7e4b
Remove webrtc dependency in codec and its sub packages
2020-10-05 22:23:52 -04:00
Lukas Herman
db5d8f23bd
Fix unstored audio
...
* Add unit test to check internal buffer integrity
* Fix unstored audio in internal buffer
2020-10-05 22:20:12 -04:00
Lukas Herman
d6ba28af8c
Update README.md
2020-10-02 15:56:21 -04:00
Lukas Herman
09c2998408
Add code coverage report
2020-10-02 01:42:01 -04:00
Lukas Herman
d129e982c7
Add generic wave's Buffer
2020-10-02 01:35:41 -04:00
Lukas Herman
74986c010b
Move current broadcast test to io
...
* Move core broadcast tests to io
* Add targeted tests for video.Broadcast
2020-10-02 01:33:21 -04:00
Renovate Bot
b8be865ff3
Update golang.org/x/sys commit hash to fdedc70
...
Generated by Renovate Bot
2020-10-02 01:13:49 -04:00
Lukas Herman
7aad89ef37
Fix example go module versioning
v0.1.1
2020-10-01 21:06:02 -07:00
Renovate Bot
943906e125
Update golang.org/x/image commit hash to e162460
...
Generated by Renovate Bot
v0.1.0
2020-10-01 19:17:59 -04:00
Tarrence van As
f3e3dc9589
use nolibopus in ci
2020-09-29 13:03:21 -04:00
Renovate Bot
a3d374f528
Update github.com/lherman-cs/opus commit hash to 26ea9d3
...
Generated by Renovate Bot
2020-09-29 13:03:21 -04:00
Lukas Herman
cba0042f5d
Fix unalligned panic in 32 bits systems
2020-09-28 20:45:52 -04:00
Atsushi Watanabe
1732e2751d
Drop source frames during pause
...
Source reader should drop frames to catch up the latest frame.
2020-09-28 20:45:52 -04:00
Atsushi Watanabe
5b1527d455
Add broadcast test conditions with pause
...
Add test case to pause provider feeding or consumer reading
during broadcasting.
2020-09-28 20:45:52 -04:00
Lukas Herman
00f0a44ab1
Add pull-based Broadcaster
...
* Add generic io.Reader
* Add generic broadcaster
* Add specialize video broadcaster
* Use ring buffer in broadcaster
* Use small delay to relax the schedule in polling
2020-09-28 20:45:52 -04:00
Renovate Bot
a44240be5f
Update module pion/webrtc/v2 to v2.2.26
...
Generated by Renovate Bot
2020-09-21 13:00:01 -07:00
Lukas Herman
70f7360b92
Enhance failed to find driver error message
2020-09-11 12:39:48 -04:00
Lukas Herman
30d49e1fd3
Add human friendly string implementation
2020-09-11 12:39:48 -04:00