-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathnotes.txt
More file actions
55 lines (41 loc) · 1.8 KB
/
notes.txt
File metadata and controls
55 lines (41 loc) · 1.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
================
= Buffer sizes =
================
Gerbera/MT defaults
audio buffer size: 1MB/1,048,576
audio chunk size: 131KB/131,072
audio fill size: 262KB/262,144
video buffer size: 14MB/14,400,000
video chunk size: 512KB/512,000
video fill size: 120KB/120,000
MPC-HC request size: 1MB/1,048,576
VLC request size: 1MB/1,048,576
Streamlink default: 16MB
TeamSp00ky stream (of any significant duration) is ~8000 kb/s (so 8 mb/s aka 1 MB/s) for vid and 128 kb/s for audio
Copying 1 second (1.32 seconds technically) gives ~12000 kb/s (so 12 mb/s aka ~1.5MB/s) for vid and 130 kb/s for audio
That 1 second file's size is just barely under 2MB, which seems to match up with the numbers above
as such, a 30s buffer for a sp00ky stream = ~31MB, meaning gerbera/MT has around a 15 second buffer for transcoding
for audio, 1MB will hold a bit over a minute of 128kb CBR lossy audio and between 7 and 16 seconds of flac (w/ bitrates of 1200kbps and 500kbps respectively)
===============
= dir monitor =
===============
My ultimate conclusion is to have the dir_delete event created by IN_DELETE and IN_MOVED_FROM messages but
to only remove the watch ID from the hash table with the DELETE/MOVE_SELF messages. The end result is that
queueing the DM event in the vector and removing the watch path from the hash table get done in different
orders depending on event. This may lead to problems later on, so try and come up with a better design
delete directory:
DELETE_SELF
IGNORED
DELETE in housing dir
create & delete directory (scripted):
CREATE, but making watch fails
DELETE in housing dir
rename directory:
MOVED_FROM (old filename)
MOVED_TO (new filename)
MOVE_SELF
move directory outside of any watched ones:
MOVED_FROM
MOVE_SELF
create file in moved directory:
CREATE (path via watch ID is INVALID)