MPD: lib/xiph/OggSyncState.hxx Source File

MPD 0.20.18

OggSyncState.hxx
Go to the documentation of this file.
1 /*
2 * Copyright 2003-2017 The Music Player Daemon Project
3 * http://www.musicpd.org
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License along
16 * with this program; if not, write to the Free Software Foundation, Inc.,
17 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18 */
19
20 #ifndef MPD_OGG_SYNC_STATE_HXX
21 #define MPD_OGG_SYNC_STATE_HXX
22
23 #include "check.h"
24
25 #include <ogg/ogg.h>
26
27 #include <stddef.h>
28
29 class Reader;
30
34 class OggSyncState {
35 ogg_sync_state oy;
36
37 Reader &reader;
38
39 public:
40 explicit OggSyncState(Reader &_reader)
41 :reader(_reader) {
42 ogg_sync_init(&oy);
43 }
44
45 ~OggSyncState() {
46 ogg_sync_clear(&oy);
47 }
48
49 OggSyncState(const OggSyncState &) = delete;
50 OggSyncState &operator=(const OggSyncState &) = delete;
51
52 void Reset() {
53 ogg_sync_reset(&oy);
54 }
55
56 bool Feed(size_t size);
57
58 bool ExpectPage(ogg_page &page);
59
60 bool ExpectPageIn(ogg_stream_state &os);
61
62 bool ExpectPageSeek(ogg_page &page);
63
64 bool ExpectPageSeekIn(ogg_stream_state &os);
65 };
66
67 #endif
Reader
An interface that can read bytes from a stream until the stream ends.
Definition: Reader.hxx:35
check.h
OggSyncState::ExpectPageSeekIn
bool ExpectPageSeekIn(ogg_stream_state &os)
OggSyncState::ExpectPageIn
bool ExpectPageIn(ogg_stream_state &os)
OggSyncState::Feed
bool Feed(size_t size)
OggSyncState::ExpectPageSeek
bool ExpectPageSeek(ogg_page &page)
OggSyncState::Reset
void Reset()
Definition: OggSyncState.hxx:52
OggSyncState::ExpectPage
bool ExpectPage(ogg_page &page)
OggSyncState::OggSyncState
OggSyncState(Reader &_reader)
Definition: OggSyncState.hxx:40
OggSyncState::~OggSyncState
~OggSyncState()
Definition: OggSyncState.hxx:45
OggSyncState::operator=
OggSyncState & operator=(const OggSyncState &)=delete
OggSyncState
Wrapper for an ogg_sync_state.
Definition: OggSyncState.hxx:34