Files
donut/doc/DEV_LOG.md
2024-02-26 08:43:45 -03:00

5.3 KiB

Add tests/CI/linter

  • add ffmpeg test utility
  • add run test locally
  • add run linter on docker
  • tag integration tests // +build integration || go test -tags integration -v ./...

Adding audio (WIP)

// potential api for stream libav
go donutEngine.Stream(
    StreamParamter{
		OnVideoData: func(d data[]) error {

		},
		OnAudioData: func(d data[], stream) error {
			channel.setData(d,stream.duration)
		},
		OnError: func(d data[]) error {

		},
		Observe: func(st stream) error {
			metadata.send
		},
	}
)

ref https://wiki.xiph.org/Opus_Recommended_Settings 48000 webrtc ref https://ffmpeg.org/ffmpeg-codecs.html#libopus-1 opus

Date: 2/4/24

Summary: Adding audio track

  • add support to detect server side streams information
  • add support to intercept stream as it goes (middleware: useful for gathering data such as media info, bitrate, eia608, etc)
  • TODO: test push directly vp8 and ogg through rtc (is it possible through SRT?)
  • TODO: test push directly h264 and aac through
  • TODO: test transcode server side stream (h264 and aac) to client side stream support (vp8/vp9/ogg) through libav/ffmpeg. // selects proper media that client and server has adverted. // donutEngine preferable vp8, ogg??? // From: [] To: [] or Transcode:[], Bypass: [] // libav_streamer.go, libav_streamer_format.go, libav_streamer_codec.go... // reads from Server (input) and generates h264 raw, and ogg and send it with timing attributes

refs:

Moving player to static

Date: 2/3/24

Hypothesis: It's easy to do experimentation with local player

Summary

Copy and adapt code from https://github.com/flavioribeiro/donut-video into static/demo/

Investigating a potential memory leak

Date: 2/2/24

Hypothesis: There's a memory leak happening

Signs: pprof/allocs

allocs profile print screen 1

Summary

ref: https://go101.org/article/memory-leaking.html

Conclusion: there's not leak, I confused allocs growing nature.