summaryrefslogtreecommitdiffstats
path: root/HBMpegDemux.h
blob: f98c0a0ae1ccc72b45b44e9461ea3da314bfc31f (plain)
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
/* $Id: HBMpegDemux.h,v 1.7 2003/08/24 13:27:41 titer Exp $ */

#ifndef _HB_MPEG_DEMUX_H
#define _HB_MPEG_DEMUX_H

#include "HBThread.h"
class HBManager;
class HBBuffer;
class BList;

BList * PStoES( HBBuffer * psBuffer );

class HBMpegDemux : public HBThread
{
    public:
        HBMpegDemux( HBManager * manager, HBTitleInfo * titleInfo,
                     HBAudioInfo * audio1Info, HBAudioInfo * audio2Info );
    
    private:
        void DoWork();
        void InsertSilence( int64_t time, HBFifo * fifo,
                            HBBuffer * buffer );
        
        HBManager   * fManager;
        HBTitleInfo * fTitleInfo;
        HBAudioInfo * fAudio1Info;
        HBAudioInfo * fAudio2Info;
        
        HBBuffer    * fPSBuffer;
        HBBuffer    * fESBuffer;
        BList       * fESBufferList;
        
        int64_t      fFirstVideoPTS;
        int64_t      fFirstAudio1PTS;
        int64_t      fFirstAudio2PTS;
};

#endif