Commit Graph

20 Commits

Author SHA1 Message Date
Valentin Cocaud
25525f97c0 Write test instead of type checking hack 2022-07-01 17:29:53 +02:00
Valentin Cocaud
524bf8faad Add an interface for easier customization of the EncoderController
Making the ReadCloser an Controllable allows to uncouple
the controller implementation from the encoder.
This is not needed for the 2 codec controller already implemented (openh264 and vpx)
but is more future proof in case it required for other codecs.
2022-07-01 17:26:55 +02:00
Valentin Cocaud
8a2dfcd5ba Force key frame on PLI 2022-07-01 17:26:52 +02:00
Atsushi Watanabe
a88c2daf89 Allow double close of codecs (#364)
Video/AudioTrack.NewRTPReader() internally closes encoder on error.
It caused double free if user closes reader after error.
2021-11-21 22:57:50 +09:00
Atsushi Watanabe
d71b72c64d Fix audio codec latency handling (#317)
To avoid buffering audio data multiple times, remove buffer from
malgo audio driver and pass expected codec latency as a codec
parameter.
2021-03-25 14:09:57 -07:00
Lukas Herman
f3ac1f5480 Add static-linked opus option
Changes:
  * Remove hraban/opus dependency
  * Add multiple static-linked libopus binaries
2020-12-16 19:04:12 -05: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
Atsushi Watanabe
0d1e856f7d codec/opus: support int16 interleaved format
Implement audio.Buffer and audio.ChannelMixer.
2020-06-08 20:43:12 -04:00
Atsushi Watanabe
62e3527a25 Use wave.Audio in codec/opus 2020-04-26 10:10:15 -07:00
Lukas Herman
354f2710b5 Update from io.ReadCloser to codec.ReadCloser 2020-03-25 23:21:25 -04:00
Lukas Herman
c9b90fb233 Redesign codec
Resolves https://github.com/pion/mediadevices/issues/114

* Remove codec registrar
* Completely redesign how codec is being discovered, tuned, and built
* Update examples
* Update unit tests
2020-03-21 07:45:10 -04:00
Atsushi Watanabe
15951b02b6 Support codec specific parameters 2020-03-07 16:51:17 -05:00
Lukas Herman
8340b5310e Remove opusfile dependency 2020-02-23 20:50:50 -08:00
Atsushi Watanabe
ad9279e961 Go 1.12 compatibility 2020-02-11 20:07:38 -08:00
Atsushi Watanabe
00bcadc238 Add codec property
Add codec property, which stores general encoding parameters,
to MediaTrackConstraints.
2020-02-10 18:45:34 -08:00
Lukas Herman
aece2b94c6 Refractor, unify some APIs to be more DRY 2020-02-06 22:44:29 -08:00
Lukas Herman
2640f6c1f4 Move all settings to video/audio under io 2020-02-06 22:44:29 -08:00
Lukas Herman
9466cf89fc Update audio APIs to use audio.Reader instead 2020-02-06 22:44:29 -08:00
Lukas Herman
61c0b53c55 Add initial audio support 2020-02-06 22:44:29 -08:00