libpromeki
1.0.0-alpha
PROfessional MEdia toolKIt
Loading...
Searching...
No Matches
sharedthreadmediaio.h
Go to the documentation of this file.
1
8
#pragma once
9
10
11
#include <promeki/config.h>
12
#if PROMEKI_ENABLE_PROAV
13
#include <
promeki/commandmediaio.h
>
14
#include <
promeki/strand.h
>
15
16
PROMEKI_NAMESPACE_BEGIN
17
18
class
ThreadPool;
19
48
class
SharedThreadMediaIO :
public
CommandMediaIO {
49
PROMEKI_OBJECT(SharedThreadMediaIO, CommandMediaIO)
50
public
:
52
SharedThreadMediaIO(ObjectBase *parent =
nullptr
);
53
55
~SharedThreadMediaIO()
override
;
56
61
bool
isIdle()
const override
;
62
70
void
cancelPendingWork()
override
;
71
72
protected
:
83
void
submit(MediaIOCommand::Ptr cmd)
override
;
84
101
void
refreshStrandWorkTag();
102
111
Strand &strand() {
return
_strand; }
112
139
static
ThreadPool &pool();
140
141
private
:
142
Strand _strand{pool()};
147
String _lastWorkTagName;
148
};
149
150
PROMEKI_NAMESPACE_END
151
152
#endif
// PROMEKI_ENABLE_PROAV
commandmediaio.h
strand.h
include
promeki
sharedthreadmediaio.h
Generated on 2026-05-21 02:27:58 from commit ffbc5cc (1.0.0-alpha).