-
Notifications
You must be signed in to change notification settings - Fork 0
/
TTMPEGExporter.h
60 lines (45 loc) · 1.34 KB
/
TTMPEGExporter.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
//
// TTMPEGExporter.h
// EyeTVEPGParser
//
// Created by Ryan Walklin on 9/03/11.
// Copyright 2011 Test Toast. All rights reserved.
//
#import <Cocoa/Cocoa.h>
#import "TTTransportStreamParser.h"
/**************************************************************************************
*
* Structure for TS-Packets
*
**************************************************************************************/
typedef struct {
unsigned long sync_byte : 8,
transport_error_indicator : 1,
payload_unit_start_indicator : 1,
transport_priority : 1,
PID : 13,
transport_scrambling_control : 2,
adaptation_field_control : 2,
continuity_counter : 4;
unsigned char data[188-4];
} TransportStreamPacket;
@interface TTMPEGExporter : NSObject {
NSFileHandle *_streamHandle;
CFAbsoluteTime _firstPacketTime;
BOOL _wantPackets;
UInt64 _packetCount;
avPIDArray *_pidArray;
dispatch_queue_t _streamWriteQueue;
NSTimer *_updateTimer;
}
// if >0, video PID for current stream
-(avPIDArray *)avPIDArray;
// Updates EPG based on DSM-CC carousel for current channel
-(void)updateEPG:(NSTimer *)timer;
// returns YES if stream open for writing packets
-(BOOL)hasValidTSStream;
// returns YES if packet written successfully
-(BOOL)writePackets:(void *)packets count:(UInt32)count;
// returns true if stream closed without errors
-(BOOL)closeTSStream;
@end