summaryrefslogtreecommitdiff
path: root/include/xine/vdr.h
diff options
context:
space:
mode:
authorReinhard Nißl <rnissl@gmx.de>2009-04-12 17:47:06 +0200
committerReinhard Nißl <rnissl@gmx.de>2009-04-12 17:47:06 +0200
commit065344253a1c3c8ddbbfb673712e9a11656f29bc (patch)
tree6e855fad093d57a9b600967f3592da3c5762f2ce /include/xine/vdr.h
parent63cfee97af9525eaa147e62801ca50493d7ceb2f (diff)
downloadxine-lib-065344253a1c3c8ddbbfb673712e9a11656f29bc.tar.gz
xine-lib-065344253a1c3c8ddbbfb673712e9a11656f29bc.tar.bz2
Prepare input_vdr for VDR 1.7.5's requirements on returned STC.
VDR 1.7.5 requires that STC should be near to a previously transmitted PTS value. We cannot hold this requirement immediately after a discontinuity as the currently displayed image's vpts time (which originated before the discontinuity) will be transformed to STC by applying the new vpts offset established at discontinuity. Therefore, a queue of vpts offset pairs is created and at discontinuity the current offset is stored there in combination with the vpts value up to which it has to be used. When retrieving a STC value, we lookup the offset to use from current vpts and therefore get a STC near to an originating PTS value. As VDR requires this quality of STC values also for its trickspeed modes, it is nolonger possible to simply set PTS of incoming frames to 0 to schedule them just after the previous frame. Therefore a discontinuity is generated for each frame in trickspeed mode, which allows us to schedule each frame immediately after the previous one while there may be gaps in PTS values. As a result the above mentioned code will take care to provide proper STC values even in VDR's trickspeed modes.
Diffstat (limited to 'include/xine/vdr.h')
-rw-r--r--include/xine/vdr.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/include/xine/vdr.h b/include/xine/vdr.h
index 1f253cdbe..77a7a41f8 100644
--- a/include/xine/vdr.h
+++ b/include/xine/vdr.h
@@ -22,7 +22,7 @@
#define __VDR_H
-#define XINE_VDR_VERSION 900
+#define XINE_VDR_VERSION 901
enum funcs
@@ -441,6 +441,7 @@ result_grab_image_t;
typedef struct __attribute__((packed)) data_get_pts_s
{
data_header_t header;
+ int32_t ms_timeout;
}
data_get_pts_t;
@@ -451,6 +452,7 @@ typedef struct __attribute__((packed)) result_get_pts_s
result_header_t header;
int64_t pts;
+ int8_t queued;
}
result_get_pts_t;