• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2025 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #ifndef DEMUXER_SAMPLE_H
17 #define DEMUXER_SAMPLE_H
18 
19 #include "native_avdemuxer.h"
20 #include "native_avformat.h"
21 #include "native_avsource.h"
22 #include "native_avmemory.h"
23 
24 namespace OHOS {
25     struct Params {
26         int64_t time;
27         int64_t setTrackType;
28         long setDuration;
29         float setHeight;
30         double setFrameRate;
31         int64_t setCodecConfigSize;
32         int32_t sampleRate;
33         int32_t channelCount;
34         int32_t setVideoHeight;
35         int32_t setVideoWidth;
36     };
37 namespace Media {
38 class DemuxerSample {
39 public:
40     DemuxerSample() = default;
41     ~DemuxerSample();
42     const char *filePath = "/data/test/fuzz_create.mp4";
43     void RunNormalDemuxer();
44 private:
45     void ResetFlag();
46     int CreateDemuxer();
47     int32_t gWidth = 3840;
48     int32_t gHeight = 2160;
49     int gTrackType = 0;
50     int32_t gTrackCount;
51     OH_AVCodecBufferAttr attr;
52     bool gReadEnd = false;
53     int fd;
54     OH_AVFormat *sourceFormat;
55     OH_AVFormat *format;
56     OH_AVFormat *audioFormat;
57     OH_AVFormat *videoFormat;
58     OH_AVSource *source;
59     OH_AVSource *uriSource;
60     OH_AVDemuxer *demuxer;
61     OH_AVMemory *memory;
62     OH_AVBuffer *buffer;
63 };
64 } // namespace Media
65 } // namespace OHOS
66 
67 #endif // DEMUXER_SAMPLE_H
68