Mercurial > mplayer.hg
annotate loader/dshow/outputpin.h @ 8843:c70444c5b516
I have seen problems where DVD subtitles don't display
at the right time and sometimes they don't appear at
all. The problem stems from the fact that subtitle
command packets are being applied as soon as they are
read and assembled from the input stream. Sometimes,
a fully assembled subtitle packet arrives at the
spudec_assemble function before the previous subtitle
appears onscreen and thus the viewer only sees the
second subtitle. So I created a patch that queues
assembled subtitle packets and applies them at the
appropriate time within the heartbeat function. The
reset function clears the packet queue when seeking
through the video.
Tomasz Farkas <tomasz_farkas@yahoo.co.uk>
author | arpi |
---|---|
date | Wed, 08 Jan 2003 18:36:36 +0000 |
parents | 174e2a58b4cd |
children | 49f01f8fbd60 |
rev | line source |
---|---|
1545 | 1 #ifndef DS_OUTPUTPIN_H |
2 #define DS_OUTPUTPIN_H | |
168 | 3 |
1545 | 4 /* "output pin" - the one that connects to output of filter. */ |
5 | |
713 | 6 #include "allocator.h" |
1545 | 7 |
7386 | 8 typedef struct _COutputMemPin COutputMemPin; |
3056 | 9 typedef struct _COutputPin COutputPin; |
1545 | 10 |
3056 | 11 struct _COutputPin |
1545 | 12 { |
3056 | 13 IPin_vt* vt; |
3130 | 14 DECLARE_IUNKNOWN(); |
1545 | 15 COutputMemPin* mempin; |
16 AM_MEDIA_TYPE type; | |
17 IPin* remote; | |
3056 | 18 void ( *SetFramePointer )(COutputPin*, char** z); |
19 void ( *SetPointer2 )(COutputPin*, char* p); | |
20 void ( *SetFrameSizePointer )(COutputPin*, long* z); | |
21 void ( *SetNewFormat )(COutputPin*, const AM_MEDIA_TYPE* a); | |
1545 | 22 }; |
168 | 23 |
3056 | 24 COutputPin* COutputPinCreate(const AM_MEDIA_TYPE* vhdr); |
25 | |
1545 | 26 #endif /* DS_OUTPUTPIN_H */ |