/src/vlc/modules/demux/mkv/chapter_command_script.hpp
Line | Count | Source |
1 | | // Copyright (C) 2003-2024 VLC authors and VideoLAN |
2 | | // SPDX-License-Identifier: LGPL-2.1-or-later |
3 | | // |
4 | | // chapter_command_script.hpp : MatroskaScript codec for Matroska Chapter Codecs |
5 | | // Authors: Laurent Aimar <fenrir@via.ecp.fr> |
6 | | // Steve Lhomme <steve.lhomme@free.fr> |
7 | | |
8 | | #ifndef VLC_MKV_CHAPTER_COMMAND_SCRIPT_HPP_ |
9 | | #define VLC_MKV_CHAPTER_COMMAND_SCRIPT_HPP_ |
10 | | |
11 | | #include "chapter_command_script_common.hpp" |
12 | | |
13 | | namespace mkv { |
14 | | |
15 | | class matroska_script_interpretor_c : public matroska_script_interpreter_common_c |
16 | | { |
17 | | public: |
18 | | matroska_script_interpretor_c( struct vlc_logger *log, chapter_codec_vm & vm_ ) |
19 | 419 | :matroska_script_interpreter_common_c(log, vm_) |
20 | 419 | {} |
21 | | |
22 | | bool Interpret( MatroskaChapterProcessTime, const binary * p_command, size_t i_size ) override; |
23 | | |
24 | | // Matroska Script commands |
25 | | static const std::string CMD_MS_GOTO_AND_PLAY; |
26 | | |
27 | | }; |
28 | | |
29 | | class matroska_script_codec_c : public matroska_script_codec_common_c |
30 | | { |
31 | | public: |
32 | | matroska_script_codec_c( struct vlc_logger *log, chapter_codec_vm & vm_, matroska_script_interpretor_c & interpreter_) |
33 | 546 | :matroska_script_codec_common_c( log, vm_, MATROSKA_CHAPTER_CODEC_NATIVE ) |
34 | 546 | ,interpreter( interpreter_ ) |
35 | 546 | {} |
36 | | |
37 | | matroska_script_interpreter_common_c & get_interpreter() override |
38 | 141 | { |
39 | 141 | return interpreter; |
40 | 141 | } |
41 | | |
42 | | protected: |
43 | | matroska_script_interpretor_c & interpreter; |
44 | | }; |
45 | | |
46 | | } // namespace |
47 | | |
48 | | #endif // VLC_MKV_CHAPTER_COMMAND_SCRIPT_HPP_ |