56 Commits

Author SHA1 Message Date
8e9a4cf8c3 Fix linter error 2022-01-07 19:54:56 +01:00
06fce9af95 Refactor MediaSetService.GetPeaksForSegment.
- Fix bug where the function would return empty high bins when
  framesPerBin was a low value (< ~10)
- Improve readability
- Add error test cases
2022-01-07 13:34:18 +01:00
5a4ee4e34f Add FFmpeg WorkerPool 2022-01-05 19:49:47 +01:00
6cb462f769 Add test coverage for getVideoFromYoutube flow 2022-01-04 06:51:25 +01:00
932648a44b Add test coverage for getVideoFromFileStore flow 2022-01-03 21:01:17 +01:00
12e6e73976 Remove extraenous line 2022-01-03 18:54:03 +01:00
66c65694ae Add test coverage for getAudioFromYoutube flow 2022-01-03 18:44:19 +01:00
176a1cd8c1 Revert "FileStore.PutObject: Accept io.ReadCloser"
This turned out to actually make testing more difficult, as the
FileStore objects are generally mocked themselves and moving the Close()
call inside them introduced IO problems in the test suite.

This reverts commit a063f85eca5dd3f983bc9b790fd68108820cc730.
2022-01-03 13:32:39 +01:00
a063f85eca FileStore.PutObject: Accept io.ReadCloser
Accepting a ReadCloser in place of a Reader allows the FileSystem
implementation to handle closing the reader, which in turn simplifies
downstream code.
2022-01-03 09:57:49 +01:00
4e4201f7d2 Add test coverage for getPeaksFromFileStore flow 2021-12-31 19:25:55 +01:00
2b1a668c9d Add GetAudioSegment flow 2021-12-29 16:41:43 +01:00
dd526b6916 Extract ModuloReader from service.go 2021-12-17 17:52:59 +01:00
2445ebc02f Rename gRPC endpoints and service methods.
- GetAudio > GetPeaks
- GetAudioSegment > GetPeaksForSegment
2021-12-17 17:30:53 +01:00
57516c738e Add staticcheck to CI steps 2021-12-13 21:30:37 +01:00
c8de6643e8 Remove S3 bucket columns from media_sets table
Re: 
2021-12-13 04:29:02 +01:00
f2d7af0860 Extract S3 code to S3FileStore
Re: 
2021-12-07 20:58:11 +01:00
468ddf4e9a Add benchmark for MediaService.GetAudioSegment 2021-12-06 18:40:02 +01:00
6d8b1beba7 Add test coverage for MediaService.GetAudioSegment 2021-12-05 20:05:58 +01:00
0cc1fd8272 Frontend fixes 2021-12-02 15:55:14 +01:00
b3bc63621a Add types.go, small refactor and tidy 2021-11-29 16:06:43 +01:00
1552fc19a1 Send presigned encoded audio URL to the frontend 2021-11-29 15:55:11 +01:00
be42d452d6 Update database with encoded audio metadata 2021-11-29 14:59:05 +01:00
c3da27ca49 Refactor audio fetching logic 2021-11-29 12:46:33 +01:00
0d2fcfc9ff Update error type for pgx package 2021-11-25 20:35:51 +01:00
61171b00af Replace log package with zap.Logger 2021-11-22 21:35:51 +01:00
b643ea2824 Add config package 2021-11-22 19:26:51 +01:00
7eef0b6e25 Fixes uploaded to sort completedParts before completing the upload 2021-11-22 18:54:31 +01:00
2f7aae1d6e Add video thumbnail support 2021-11-21 20:43:40 +01:00
4afec11074 Get video from Youtube, send progress via gRPC 2021-11-21 16:09:30 +01:00
542080e400 Implement GetAudioSegment, add panic recovery handler 2021-11-21 16:09:30 +01:00
8794b42459 ModuloReader: handle zero reads from inner reader 2021-11-21 16:09:30 +01:00
47e3e47216 Fix logic error in ModuloBufReader 2021-11-21 16:09:30 +01:00
911de4438b Add basic logging support 2021-11-21 16:09:30 +01:00
fec542ee62 Tidy 2021-11-21 16:09:30 +01:00
650382fb39 Renaming, fix frames/bytes confusion 2021-11-21 16:09:30 +01:00
97db31209c Move uploader reader to its own goroutine 2021-11-21 16:09:30 +01:00
79be8b7936 Refactor uploader, remove Writer implementation 2021-11-21 16:09:30 +01:00
dc497b546a Experimental changes prior to refactoring Uploader 2021-11-21 16:09:30 +01:00
1496473620 Improve gRPC error handling, handle cancelling ffmpegReader 2021-11-21 16:09:30 +01:00
06697dc1b1 Upload parts in background 2021-11-21 16:09:30 +01:00
c1ac075a88 Render WaveformCanvas via peaks 2021-11-21 16:09:30 +01:00
97a55632ef Fix panic when reading blocks not divisible by 4 2021-11-21 16:09:30 +01:00
d117419b0c Read peaks from S3 2021-11-21 16:09:30 +01:00
5cbcfe22cf More progress 2021-11-21 16:09:30 +01:00
49099b12d6 Update proto structure 2021-11-21 16:09:29 +01:00
7c5b22a407 Introduce PG store 2021-11-21 16:09:28 +01:00
281d5ce8a2 Start to refactor and wire in frontend 2021-10-29 14:52:31 +02:00
0e2fb5cd47 Refactor format parsing 2021-10-28 03:27:14 +02:00
8c30a2581a Fix tests, move helpers to media package 2021-10-28 03:05:20 +02:00
3ce3736770 improve naming, refactor 2021-10-27 22:19:15 +02:00