mirror of
https://github.com/datarhei/core.git
synced 2025-10-05 07:57:13 +08:00
Merge branch 'dev' into cluster
This commit is contained in:
@@ -13,6 +13,10 @@
|
|||||||
- Fix purging default file from HTTP cache
|
- Fix purging default file from HTTP cache
|
||||||
- Fix parsing S3 storage definition from environment variable
|
- Fix parsing S3 storage definition from environment variable
|
||||||
- Fix checking length of CPU time array ([#10](https://github.com/datarhei/core/issues/10))
|
- Fix checking length of CPU time array ([#10](https://github.com/datarhei/core/issues/10))
|
||||||
|
- Fix possible infinite loop with HLS session rewriter
|
||||||
|
- Fix not propagating process limits
|
||||||
|
- Fix URL validation if the path contains FFmpeg specific placeholders
|
||||||
|
- Fix RTMP DoS attack (thx Johannes Frank)
|
||||||
- Deprecate ENV names that do not correspond to JSON name
|
- Deprecate ENV names that do not correspond to JSON name
|
||||||
|
|
||||||
### Core v16.11.0 > v16.12.0
|
### Core v16.11.0 > v16.12.0
|
||||||
|
@@ -2172,6 +2172,10 @@ const docTemplate = `{
|
|||||||
"looping": {
|
"looping": {
|
||||||
"type": "boolean"
|
"type": "boolean"
|
||||||
},
|
},
|
||||||
|
"looping_runtime": {
|
||||||
|
"type": "integer",
|
||||||
|
"format": "uint64"
|
||||||
|
},
|
||||||
"output": {
|
"output": {
|
||||||
"$ref": "#/definitions/api.AVstreamIO"
|
"$ref": "#/definitions/api.AVstreamIO"
|
||||||
},
|
},
|
||||||
|
@@ -2165,6 +2165,10 @@
|
|||||||
"looping": {
|
"looping": {
|
||||||
"type": "boolean"
|
"type": "boolean"
|
||||||
},
|
},
|
||||||
|
"looping_runtime": {
|
||||||
|
"type": "integer",
|
||||||
|
"format": "uint64"
|
||||||
|
},
|
||||||
"output": {
|
"output": {
|
||||||
"$ref": "#/definitions/api.AVstreamIO"
|
"$ref": "#/definitions/api.AVstreamIO"
|
||||||
},
|
},
|
||||||
|
@@ -22,6 +22,9 @@ definitions:
|
|||||||
$ref: '#/definitions/api.AVstreamIO'
|
$ref: '#/definitions/api.AVstreamIO'
|
||||||
looping:
|
looping:
|
||||||
type: boolean
|
type: boolean
|
||||||
|
looping_runtime:
|
||||||
|
format: uint64
|
||||||
|
type: integer
|
||||||
output:
|
output:
|
||||||
$ref: '#/definitions/api.AVstreamIO'
|
$ref: '#/definitions/api.AVstreamIO'
|
||||||
queue:
|
queue:
|
||||||
|
@@ -59,33 +59,35 @@ func (avio *ffmpegAVstreamIO) export() app.AVstreamIO {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type ffmpegAVstream struct {
|
type ffmpegAVstream struct {
|
||||||
Input ffmpegAVstreamIO `json:"input"`
|
Input ffmpegAVstreamIO `json:"input"`
|
||||||
Output ffmpegAVstreamIO `json:"output"`
|
Output ffmpegAVstreamIO `json:"output"`
|
||||||
Address string `json:"id"`
|
Address string `json:"id"`
|
||||||
URL string `json:"url"`
|
URL string `json:"url"`
|
||||||
Stream uint64 `json:"stream"`
|
Stream uint64 `json:"stream"`
|
||||||
Aqueue uint64 `json:"aqueue"`
|
Aqueue uint64 `json:"aqueue"`
|
||||||
Queue uint64 `json:"queue"`
|
Queue uint64 `json:"queue"`
|
||||||
Dup uint64 `json:"dup"`
|
Dup uint64 `json:"dup"`
|
||||||
Drop uint64 `json:"drop"`
|
Drop uint64 `json:"drop"`
|
||||||
Enc uint64 `json:"enc"`
|
Enc uint64 `json:"enc"`
|
||||||
Looping bool `json:"looping"`
|
Looping bool `json:"looping"`
|
||||||
Duplicating bool `json:"duplicating"`
|
LoopingRuntime uint64 `json:"looping_runtime"`
|
||||||
GOP string `json:"gop"`
|
Duplicating bool `json:"duplicating"`
|
||||||
|
GOP string `json:"gop"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (av *ffmpegAVstream) export() *app.AVstream {
|
func (av *ffmpegAVstream) export() *app.AVstream {
|
||||||
return &app.AVstream{
|
return &app.AVstream{
|
||||||
Aqueue: av.Aqueue,
|
Aqueue: av.Aqueue,
|
||||||
Queue: av.Queue,
|
Queue: av.Queue,
|
||||||
Drop: av.Drop,
|
Drop: av.Drop,
|
||||||
Dup: av.Dup,
|
Dup: av.Dup,
|
||||||
Enc: av.Enc,
|
Enc: av.Enc,
|
||||||
Looping: av.Looping,
|
Looping: av.Looping,
|
||||||
Duplicating: av.Duplicating,
|
LoopingRuntime: av.LoopingRuntime,
|
||||||
GOP: av.GOP,
|
Duplicating: av.Duplicating,
|
||||||
Input: av.Input.export(),
|
GOP: av.GOP,
|
||||||
Output: av.Output.export(),
|
Input: av.Input.export(),
|
||||||
|
Output: av.Output.export(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -23,16 +23,17 @@ func (i *AVstreamIO) Unmarshal(io *app.AVstreamIO) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type AVstream struct {
|
type AVstream struct {
|
||||||
Input AVstreamIO `json:"input"`
|
Input AVstreamIO `json:"input"`
|
||||||
Output AVstreamIO `json:"output"`
|
Output AVstreamIO `json:"output"`
|
||||||
Aqueue uint64 `json:"aqueue" format:"uint64"`
|
Aqueue uint64 `json:"aqueue" format:"uint64"`
|
||||||
Queue uint64 `json:"queue" format:"uint64"`
|
Queue uint64 `json:"queue" format:"uint64"`
|
||||||
Dup uint64 `json:"dup" format:"uint64"`
|
Dup uint64 `json:"dup" format:"uint64"`
|
||||||
Drop uint64 `json:"drop" format:"uint64"`
|
Drop uint64 `json:"drop" format:"uint64"`
|
||||||
Enc uint64 `json:"enc" format:"uint64"`
|
Enc uint64 `json:"enc" format:"uint64"`
|
||||||
Looping bool `json:"looping"`
|
Looping bool `json:"looping"`
|
||||||
Duplicating bool `json:"duplicating"`
|
LoopingRuntime uint64 `json:"looping_runtime" format:"uint64"`
|
||||||
GOP string `json:"gop"`
|
Duplicating bool `json:"duplicating"`
|
||||||
|
GOP string `json:"gop"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *AVstream) Unmarshal(av *app.AVstream) {
|
func (a *AVstream) Unmarshal(av *app.AVstream) {
|
||||||
@@ -46,6 +47,7 @@ func (a *AVstream) Unmarshal(av *app.AVstream) {
|
|||||||
a.Drop = av.Drop
|
a.Drop = av.Drop
|
||||||
a.Enc = av.Enc
|
a.Enc = av.Enc
|
||||||
a.Looping = av.Looping
|
a.Looping = av.Looping
|
||||||
|
a.LoopingRuntime = av.LoopingRuntime
|
||||||
a.Duplicating = av.Duplicating
|
a.Duplicating = av.Duplicating
|
||||||
a.GOP = av.GOP
|
a.GOP = av.GOP
|
||||||
|
|
||||||
|
@@ -3,19 +3,20 @@ package app
|
|||||||
type AVstreamIO struct {
|
type AVstreamIO struct {
|
||||||
State string
|
State string
|
||||||
Packet uint64 // counter
|
Packet uint64 // counter
|
||||||
Time uint64
|
Time uint64 // sec
|
||||||
Size uint64 // bytes
|
Size uint64 // bytes
|
||||||
}
|
}
|
||||||
|
|
||||||
type AVstream struct {
|
type AVstream struct {
|
||||||
Input AVstreamIO
|
Input AVstreamIO
|
||||||
Output AVstreamIO
|
Output AVstreamIO
|
||||||
Aqueue uint64 // gauge
|
Aqueue uint64 // gauge
|
||||||
Queue uint64 // gauge
|
Queue uint64 // gauge
|
||||||
Dup uint64 // counter
|
Dup uint64 // counter
|
||||||
Drop uint64 // counter
|
Drop uint64 // counter
|
||||||
Enc uint64 // counter
|
Enc uint64 // counter
|
||||||
Looping bool
|
Looping bool
|
||||||
Duplicating bool
|
LoopingRuntime uint64 // sec
|
||||||
GOP string
|
Duplicating bool
|
||||||
|
GOP string
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user