[mythtv-commits] [MythTV/mythtv] 0f1ba0: MythCodecMap: Don't use a global, static singleton
Mark Kendall
noreply at github.com
Sat Mar 14 08:35:57 UTC 2020
Branch: refs/heads/master
Home: https://github.com/MythTV/mythtv
Commit: 0f1ba0e5b09aef7889bee6e1e37267546086dded
https://github.com/MythTV/mythtv/commit/0f1ba0e5b09aef7889bee6e1e37267546086dded
Author: Mark Kendall <mark.kendall at gmail.com>
Date: 2020-03-14 (Sat, 14 Mar 2020)
Changed paths:
M mythtv/libs/libmythtv/avformatwriter.cpp
M mythtv/libs/libmythtv/avformatwriter.h
M mythtv/libs/libmythtv/decoders/avformatdecoder.cpp
M mythtv/libs/libmythtv/decoders/avformatdecoder.h
M mythtv/libs/libmythtv/decoders/mythdrmprimecontext.cpp
M mythtv/libs/libmythtv/decoders/mythmediacodeccontext.cpp
M mythtv/libs/libmythtv/decoders/mythmmalcontext.cpp
M mythtv/libs/libmythtv/decoders/mythnvdeccontext.cpp
M mythtv/libs/libmythtv/mythavutil.cpp
M mythtv/libs/libmythtv/mythavutil.h
M mythtv/programs/mythtranscode/mpeg2fix.h
Log Message:
-----------
MythCodecMap: Don't use a global, static singleton
- there is no reason to use a global singleton, other than occasional
convenience
- it introduces concurrency and locking issues right across any mythtv
application trying to access it from multiple threads
Commit: 913a8ff5182d13a97d01d013d7cfbf000605883e
https://github.com/MythTV/mythtv/commit/913a8ff5182d13a97d01d013d7cfbf000605883e
Author: Mark Kendall <mark.kendall at gmail.com>
Date: 2020-03-14 (Sat, 14 Mar 2020)
Changed paths:
M mythtv/libs/libmythbase/mythcorecontext.cpp
M mythtv/libs/libmythbase/mythcorecontext.h
M mythtv/libs/libmythtv/Bluray/avformatdecoderbd.cpp
M mythtv/libs/libmythtv/DVD/avformatdecoderdvd.cpp
M mythtv/libs/libmythtv/avformatwriter.cpp
M mythtv/libs/libmythtv/decoders/avformatdecoder.cpp
M mythtv/libs/libmythtv/decoders/nuppeldecoder.cpp
M mythtv/libs/libmythtv/recorders/NuppelVideoRecorder.cpp
Log Message:
-----------
Remove global avcodeclock singleton
- this was originally used to protect calls to av_register_all
- av_register_all is no longer required and we don't use it anyway
- over the years it has morphed into a catchall lock around sundry
decoder activities - some of which have been improved in recent commits
- some other FFmpeg calls (e.g. avcode_open2) used to require locking
but this is now handled internally in FFmpeg (as long as pthread support
is available - which it should always be).
- fixes PiP support
- should improve concurrency generally where more than one decoder is
active
Compare: https://github.com/MythTV/mythtv/compare/405e049c7611...913a8ff5182d
More information about the mythtv-commits
mailing list