Rob Watson
35b62f1e59
Fetch title, description and author from Youtube
continuous-integration/drone/push Build is passing
Details
2022-01-13 20:05:09 +01:00
Rob Watson
af0674eb11
Add POST /api/media_sets/:id/clip.
...
continuous-integration/drone Build is passing
Details
This will allow for an HTTP/1.1 fallback for
MediaSetService.GetAudioSegment, enabling download of audio clips in
browsers that do not support the File System Access API.
2022-01-10 18:52:04 +01:00
Rob Watson
8e9a4cf8c3
Fix linter error
continuous-integration/drone/push Build is passing
Details
2022-01-07 19:54:56 +01:00
Rob Watson
06fce9af95
Refactor MediaSetService.GetPeaksForSegment.
...
continuous-integration/drone/push Build is failing
Details
- 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
Rob Watson
5a4ee4e34f
Add FFmpeg WorkerPool
continuous-integration/drone/push Build is passing
Details
2022-01-05 19:49:47 +01:00
Rob Watson
6cb462f769
Add test coverage for getVideoFromYoutube flow
continuous-integration/drone/push Build is passing
Details
2022-01-04 06:51:25 +01:00
Rob Watson
932648a44b
Add test coverage for getVideoFromFileStore flow
continuous-integration/drone/push Build is passing
Details
2022-01-03 21:01:17 +01:00
Rob Watson
12e6e73976
Remove extraenous line
continuous-integration/drone/push Build is passing
Details
2022-01-03 18:54:03 +01:00
Rob Watson
66c65694ae
Add test coverage for getAudioFromYoutube flow
continuous-integration/drone/push Build is passing
Details
2022-01-03 18:44:19 +01:00
Rob Watson
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 a063f85eca
.
2022-01-03 13:32:39 +01:00
Rob Watson
a063f85eca
FileStore.PutObject: Accept io.ReadCloser
...
continuous-integration/drone/push Build is passing
Details
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
Rob Watson
4e4201f7d2
Add test coverage for getPeaksFromFileStore flow
continuous-integration/drone/push Build is passing
Details
2021-12-31 19:25:55 +01:00
Rob Watson
2b1a668c9d
Add GetAudioSegment flow
continuous-integration/drone/push Build is passing
Details
2021-12-29 16:41:43 +01:00
Rob Watson
dd526b6916
Extract ModuloReader from service.go
continuous-integration/drone/push Build is passing
Details
2021-12-17 17:52:59 +01:00
Rob Watson
2445ebc02f
Rename gRPC endpoints and service methods.
...
- GetAudio > GetPeaks
- GetAudioSegment > GetPeaksForSegment
2021-12-17 17:30:53 +01:00
Rob Watson
57516c738e
Add staticcheck to CI steps
continuous-integration/drone/push Build is passing
Details
2021-12-13 21:30:37 +01:00
Rob Watson
c8de6643e8
Remove S3 bucket columns from media_sets table
...
continuous-integration/drone/push Build is passing
Details
Re: #5
2021-12-13 04:29:02 +01:00
Rob Watson
f2d7af0860
Extract S3 code to S3FileStore
...
Re: #5
2021-12-07 20:58:11 +01:00
Rob Watson
468ddf4e9a
Add benchmark for MediaService.GetAudioSegment
2021-12-06 18:40:02 +01:00
Rob Watson
6d8b1beba7
Add test coverage for MediaService.GetAudioSegment
2021-12-05 20:05:58 +01:00
Rob Watson
0cc1fd8272
Frontend fixes
2021-12-02 15:55:14 +01:00
Rob Watson
b3bc63621a
Add types.go, small refactor and tidy
2021-11-29 16:06:43 +01:00
Rob Watson
1552fc19a1
Send presigned encoded audio URL to the frontend
2021-11-29 15:55:11 +01:00
Rob Watson
be42d452d6
Update database with encoded audio metadata
2021-11-29 14:59:05 +01:00
Rob Watson
c3da27ca49
Refactor audio fetching logic
2021-11-29 12:46:33 +01:00
Rob Watson
0d2fcfc9ff
Update error type for pgx package
2021-11-25 20:35:51 +01:00
Rob Watson
61171b00af
Replace log package with zap.Logger
2021-11-22 21:35:51 +01:00
Rob Watson
b643ea2824
Add config package
2021-11-22 19:26:51 +01:00
Rob Watson
7eef0b6e25
Fixes uploaded to sort completedParts before completing the upload
2021-11-22 18:54:31 +01:00
Rob Watson
2f7aae1d6e
Add video thumbnail support
2021-11-21 20:43:40 +01:00
Rob Watson
4afec11074
Get video from Youtube, send progress via gRPC
2021-11-21 16:09:30 +01:00
Rob Watson
542080e400
Implement GetAudioSegment, add panic recovery handler
2021-11-21 16:09:30 +01:00
Rob Watson
8794b42459
ModuloReader: handle zero reads from inner reader
2021-11-21 16:09:30 +01:00
Rob Watson
47e3e47216
Fix logic error in ModuloBufReader
2021-11-21 16:09:30 +01:00
Rob Watson
911de4438b
Add basic logging support
2021-11-21 16:09:30 +01:00
Rob Watson
fec542ee62
Tidy
2021-11-21 16:09:30 +01:00
Rob Watson
650382fb39
Renaming, fix frames/bytes confusion
2021-11-21 16:09:30 +01:00
Rob Watson
97db31209c
Move uploader reader to its own goroutine
2021-11-21 16:09:30 +01:00
Rob Watson
79be8b7936
Refactor uploader, remove Writer implementation
2021-11-21 16:09:30 +01:00
Rob Watson
dc497b546a
Experimental changes prior to refactoring Uploader
2021-11-21 16:09:30 +01:00
Rob Watson
1496473620
Improve gRPC error handling, handle cancelling ffmpegReader
2021-11-21 16:09:30 +01:00
Rob Watson
06697dc1b1
Upload parts in background
2021-11-21 16:09:30 +01:00
Rob Watson
c1ac075a88
Render WaveformCanvas via peaks
2021-11-21 16:09:30 +01:00
Rob Watson
97a55632ef
Fix panic when reading blocks not divisible by 4
2021-11-21 16:09:30 +01:00
Rob Watson
d117419b0c
Read peaks from S3
2021-11-21 16:09:30 +01:00
Rob Watson
5cbcfe22cf
More progress
2021-11-21 16:09:30 +01:00
Rob Watson
49099b12d6
Update proto structure
2021-11-21 16:09:29 +01:00
Rob Watson
7c5b22a407
Introduce PG store
2021-11-21 16:09:28 +01:00
Rob Watson
281d5ce8a2
Start to refactor and wire in frontend
2021-10-29 14:52:31 +02:00
Rob Watson
0e2fb5cd47
Refactor format parsing
2021-10-28 03:27:14 +02:00