GCC Code Coverage Report


Directory: ./
File: channeloutput/processors/FoldOutputProcessor.h
Date: 2026-10-29 08:11:58
Exec Total Coverage
Lines: 0 1 0.0%
Functions: 0 1 0.0%
Branches: 0 0 -%

Line Branch Exec Source
1 #pragma once
2 /*
3 * This file is part of the Falcon Player (FPP) and is Copyright (C)
4 * 2013-2022 by the Falcon Player Developers.
5 *
6 * The Falcon Player (FPP) is free software, and is covered under
7 * multiple Open Source licenses. Please see the included 'LICENSES'
8 * file for descriptions of what files are covered by each license.
9 *
10 * This source file is covered under the LGPL v2.1 as described in the
11 * included LICENSE.LGPL file.
12 */
13
14 #include "OutputProcessor.h"
15 #include "fpp-json-fwd.h"
16
17 #include <vector>
18
19 class FoldOutputProcessor : public OutputProcessor {
20 public:
21 FoldOutputProcessor(const Json::Value& config);
22 FoldOutputProcessor(int src, int count, int node);
23 virtual ~FoldOutputProcessor();
24
25 virtual void ProcessData(unsigned char* channelData) const override;
26
27 ✗ virtual OutputProcessorType getType() const override { return FOLD; }
28
29 int getCount() const { return count; }
30 int getNode() const { return node; }
31 int getSourceChannel() const { return sourceChannel; }
32
33 virtual void GetRequiredChannelRanges(const std::function<void(int, int)>& addRange) override;
34
35 protected:
36 int count;
37 int node;
38 int nodesize;
39 int sourceChannel;
40
41 // Scratch copy of the source channels, sized at construction: ProcessData
42 // must read the pre-fold values while it overwrites them in place.
43 mutable std::vector<unsigned char> tempBuffer;
44 };
45