blob: 5ca276f34041fa1fb6e8e3e65599f66db3da6ee1 [file] [log] [blame]
Constantin Kaplinskyade425a2008-06-20 06:44:03 +00001//
2// Copyright (C) 2008 Wimba, Inc. All Rights Reserved.
3//
4// This is free software; you can redistribute it and/or modify
5// it under the terms of the GNU General Public License as published by
6// the Free Software Foundation; either version 2 of the License, or
7// (at your option) any later version.
8//
9// This software is distributed in the hope that it will be useful,
10// but WITHOUT ANY WARRANTY; without even the implied warranty of
11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12// GNU General Public License for more details.
13//
14// You should have received a copy of the GNU General Public License
15// along with this software; if not, write to the Free Software
16// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
17// USA.
18//
19
20//
21// FbsEntryPoint.java
22//
23
24package com.tightvnc.rfbplayer;
25
26/**
27 * Representation of an individual record of the .fbi (FrameBuffer Index) file.
28 * It includes data that constitutes an entry point to indexed framebuffer
29 * stream at a particular time offset.
30 *
31 * @author Constantin Kaplinsky
32 */
33public class FbsEntryPoint {
34
35 /**
36 * Timestamp in milliseconds corresponding to the keyframe data.
37 * 32-bit unsigned integer.
38 */
39 public long timestamp;
40
41 /**
42 * Keyframe position in the respective .fbk file, offset in bytes from the
43 * very beginning of the file. It should point to the byte counter of an FBS
44 * data block. 32-bit unsigned integer.
45 */
46 public long key_fpos;
47
48 /**
49 * Keyframe data size in the respective .fbk file, in bytes. 32-bit unsigned
50 * integer.
51 */
52 public long key_size;
53
54 /**
55 * Position of the next update in the .fbs file, offset in bytes from the
56 * very beginning of the file. It should point to the byte counter of an FBS
57 * data block. 32-bit unsigned integer.
58 */
59 public long fbs_fpos;
60
61 /**
62 * Offset in the FBS data block referenced by fbs_fpos. It allows addressing
63 * those updates that begin not on the data block boundary. 32-bit unsigned
64 * integer.
65 */
66 public long fbs_skip;
67
Constantin Kaplinsky0eecaeb2008-06-20 08:23:25 +000068 public String toString() {
69 String s = "[ timestamp:" + timestamp;
70 s += " key_fpos:" + key_fpos;
71 s += " key_size:" + key_size;
72 s += " fbs_fpos:" + fbs_fpos;
73 s += " fbs_skip:" + fbs_skip + " ]";
74
75 return s;
76 }
77
Constantin Kaplinskyade425a2008-06-20 06:44:03 +000078}