History

first cut at codec plugins

Brad Hefta-Gaub committed 10 years ago

Commit be379211 parent 647714212 files · +224 −7Browse files

Showing the changes to plugins/pcmCodec/src/PCMCodecProvider.cpp (1 of 12 files). Show all

Unified · Split

plugins/pcmCodec/src/PCMCodecProvider.cpp+44−0
@@ -0,0 +1,44 @@
1//
2// Created by Brad Hefta-Gaub on 6/9/2016
3// Copyright 2016 High Fidelity, Inc.
4//
5// Distributed under the Apache License, Version 2.0.
6// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
7//
8
9#include <mutex>
10
11#include <QtCore/QObject>
12#include <QtCore/QtPlugin>
13#include <QtCore/QStringList>
14
15#include <plugins/RuntimePlugin.h>
16#include <plugins/CodecPlugin.h>
17
18#include "PCMCodecManager.h"
19
20class PCMCodecProvider : public QObject, public CodecProvider {
21 Q_OBJECT
22 Q_PLUGIN_METADATA(IID CodecProvider_iid FILE "plugin.json")
23 Q_INTERFACES(CodecProvider)
24
25public:
26 PCMCodecProvider(QObject* parent = nullptr) : QObject(parent) {}
27 virtual ~PCMCodecProvider() {}
28
29 virtual CodecPluginList getCodecPlugins() override {
30 static std::once_flag once;
31 std::call_once(once, [&] {
32 CodecPluginPointer plugin(new PCMCodecManager());
33 if (plugin->isSupported()) {
34 _codecPlugins.push_back(plugin);
35 }
36 });
37 return _codecPlugins;
38 }
39
40private:
41 CodecPluginList _codecPlugins;
42};
43
44#include "PCMCodecProvider.moc"

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t