Main Page
Related Pages
Modules
Data Structures
Files
Examples
File List
Globals
libavformat
seek.h
Go to the documentation of this file.
1
/*
2
* seek utility functions for use within format handlers
3
*
4
* Copyright (c) 2009 Ivan Schreter
5
*
6
* This file is part of Libav.
7
*
8
* Libav is free software; you can redistribute it and/or
9
* modify it under the terms of the GNU Lesser General Public
10
* License as published by the Free Software Foundation; either
11
* version 2.1 of the License, or (at your option) any later version.
12
*
13
* Libav is distributed in the hope that it will be useful,
14
* but WITHOUT ANY WARRANTY; without even the implied warranty of
15
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16
* Lesser General Public License for more details.
17
*
18
* You should have received a copy of the GNU Lesser General Public
19
* License along with Libav; if not, write to the Free Software
20
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21
*/
22
23
#ifndef AVFORMAT_SEEK_H
24
#define AVFORMAT_SEEK_H
25
26
#include "
avformat.h
"
27
31
typedef
struct
AVParserStreamState
{
32
// saved members of AVStream
33
AVCodecParserContext
*
parser
;
34
AVPacket
cur_pkt
;
35
int64_t
last_IP_pts
;
36
int64_t
cur_dts
;
37
int64_t
reference_dts
;
38
const
uint8_t *
cur_ptr
;
39
int
cur_len
;
40
int
probe_packets
;
41
}
AVParserStreamState
;
42
46
typedef
struct
AVParserState
{
47
int64_t
fpos
;
48
49
// saved members of AVFormatContext
50
AVStream
*
cur_st
;
51
AVPacketList
*
packet_buffer
;
52
AVPacketList
*
raw_packet_buffer
;
53
int
raw_packet_buffer_remaining_size
;
54
55
// saved info for streams
56
int
nb_streams
;
57
AVParserStreamState
*
stream_states
;
58
}
AVParserState
;
59
82
int64_t
ff_gen_syncpoint_search
(
AVFormatContext
*s,
83
int
stream_index,
84
int64_t pos,
85
int64_t min_ts,
86
int64_t ts,
87
int64_t max_ts,
88
int
flags
);
89
104
AVParserState
*
ff_store_parser_state
(
AVFormatContext
*s);
105
116
void
ff_restore_parser_state
(
AVFormatContext
*s,
AVParserState
*
state
);
117
124
void
ff_free_parser_state
(
AVFormatContext
*s,
AVParserState
*
state
);
125
126
#endif
/* AVFORMAT_SEEK_H */