summaryrefslogtreecommitdiff
path: root/include/xine
diff options
context:
space:
mode:
authorPetri Hintukainen <phintuka@users.sourceforge.net>2012-05-29 15:27:44 +0300
committerPetri Hintukainen <phintuka@users.sourceforge.net>2012-05-29 15:27:44 +0300
commit7a5f59b9a6735b722a8333dd608f2c1dc57f0539 (patch)
treee1d774ef4dc0084a9564584bf86cfbffaa30c27d /include/xine
parent9001f008dc749d96e39c97ada133c5ddae3fe76e (diff)
downloadxine-lib-7a5f59b9a6735b722a8333dd608f2c1dc57f0539.tar.gz
xine-lib-7a5f59b9a6735b722a8333dd608f2c1dc57f0539.tar.bz2
Do not access master metronom data directly.
Fixes problem with custom metronoms and metronom wrappers.
Diffstat (limited to 'include/xine')
-rw-r--r--include/xine/metronom.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/include/xine/metronom.h b/include/xine/metronom.h
index 4f4bb04eb..06beb3a5f 100644
--- a/include/xine/metronom.h
+++ b/include/xine/metronom.h
@@ -217,6 +217,16 @@ struct metronom_s {
#define METRONOM_SPU_OFFSET 5
#define METRONOM_VPTS_OFFSET 6
#define METRONOM_PREBUFFER 7
+#define METRONOM_VPTS 8
+/* METRONOM_LOCK can be used to lock metronom when multiple options needs to be fetched atomically (ex. VPTS_OFFSET and AV_OFFSET).
+ * example:
+ * metronom->set_option(metronom, METRONOM_LOCK, 1);
+ * vpts_offset = metronom->get_option(metronom, METRONOM_VPTS_OFFSET|METRONOM_NO_LOCK);
+ * av_offset = metronom->get_option(metronom, METRONOM_AV_OFFSET|METRONOM_NO_LOCK);
+ * metronom->set_option(metronom, METRONOM_LOCK, 0);
+ */
+#define METRONOM_LOCK 9
+#define METRONOM_NO_LOCK 0x8000
metronom_t *_x_metronom_init (int have_video, int have_audio, xine_t *xine) XINE_MALLOC XINE_PROTECTED;