mirror of
https://github.com/datarhei/core.git
synced 2025-10-10 02:10:17 +08:00
Fix potential race condition
This commit is contained in:
@@ -235,6 +235,9 @@ func (p *parser) Parse(line []byte) uint64 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if isFFmpegInputs {
|
if isFFmpegInputs {
|
||||||
|
p.lock.progress.Lock()
|
||||||
|
defer p.lock.progress.Unlock()
|
||||||
|
|
||||||
if err := p.parseFFmpegIO("input", bytes.TrimPrefix(line, []byte("ffmpeg.inputs:"))); err != nil {
|
if err := p.parseFFmpegIO("input", bytes.TrimPrefix(line, []byte("ffmpeg.inputs:"))); err != nil {
|
||||||
p.logger.WithFields(log.Fields{
|
p.logger.WithFields(log.Fields{
|
||||||
"line": line,
|
"line": line,
|
||||||
@@ -246,6 +249,9 @@ func (p *parser) Parse(line []byte) uint64 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if isHLSStreamMap {
|
if isHLSStreamMap {
|
||||||
|
p.lock.progress.Lock()
|
||||||
|
defer p.lock.progress.Unlock()
|
||||||
|
|
||||||
if err := p.parseHLSStreamMap(bytes.TrimPrefix(line, []byte("hls.streammap:"))); err != nil {
|
if err := p.parseHLSStreamMap(bytes.TrimPrefix(line, []byte("hls.streammap:"))); err != nil {
|
||||||
p.logger.WithFields(log.Fields{
|
p.logger.WithFields(log.Fields{
|
||||||
"line": line,
|
"line": line,
|
||||||
@@ -257,6 +263,9 @@ func (p *parser) Parse(line []byte) uint64 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if isFFmpegOutputs {
|
if isFFmpegOutputs {
|
||||||
|
p.lock.progress.Lock()
|
||||||
|
defer p.lock.progress.Unlock()
|
||||||
|
|
||||||
if err := p.parseFFmpegIO("output", bytes.TrimPrefix(line, []byte("ffmpeg.outputs:"))); err != nil {
|
if err := p.parseFFmpegIO("output", bytes.TrimPrefix(line, []byte("ffmpeg.outputs:"))); err != nil {
|
||||||
p.logger.WithFields(log.Fields{
|
p.logger.WithFields(log.Fields{
|
||||||
"line": line,
|
"line": line,
|
||||||
@@ -287,6 +296,9 @@ func (p *parser) Parse(line []byte) uint64 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if isFFmpegMapping {
|
if isFFmpegMapping {
|
||||||
|
p.lock.progress.Lock()
|
||||||
|
defer p.lock.progress.Unlock()
|
||||||
|
|
||||||
if err := p.parseFFmpegMapping(bytes.TrimPrefix(line, []byte("ffmpeg.mapping:"))); err != nil {
|
if err := p.parseFFmpegMapping(bytes.TrimPrefix(line, []byte("ffmpeg.mapping:"))); err != nil {
|
||||||
p.logger.WithFields(log.Fields{
|
p.logger.WithFields(log.Fields{
|
||||||
"line": line,
|
"line": line,
|
||||||
|
Reference in New Issue
Block a user