summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.hgsigs14
-rw-r--r--src/xine-engine/metronom.c36
2 files changed, 41 insertions, 9 deletions
diff --git a/.hgsigs b/.hgsigs
index 66d50426d..aab80a5ea 100644
--- a/.hgsigs
+++ b/.hgsigs
@@ -7,3 +7,17 @@ d912bda42df43a6ec24a4d479e202c327a733a42 0 iD8DBQBH4R2HsBKtjPGfWZ8RAr/IAJ46ypOhq
92dad3eca733ff0daecd6b1a539f8b077ea071cb 0 iD8DBQBH76CDsBKtjPGfWZ8RAnQUAJ9ARudZye68h9JIKe10wIsWm6OQEwCgvjS+c6o48SjNrb5l7i8KisKG89o=
01846b148cbaa03141bae2e51f8d9df00a2843fb 0 iD8DBQBPSolysBKtjPGfWZ8RAiaNAJ9HesT0fwB/hnWaAazzq6iOrTCgXgCeMi3H6GK5r4YS/IouiYH5xkHZnm8=
ac2c5ea4bc52322c176c2e601a36c298091bfc9b 0 iD8DBQBPSol0sBKtjPGfWZ8RArZrAJ0fqN/RgB9wvEk+somc0BofQKebQwCdH4+p8lL1TJaKtMUScjv+6ebL4Uo=
+66e1654718fb0581846d60c60bc09ae3b6b8c0cf 0 iD8DBQBPSokCsBKtjPGfWZ8RAui7AJ93/zYpvKkhElXFvKX87WpUurnKjgCgqqG0jfu+wM+W6Szbej8dqrHHBg8=
+492f87e6963a8d244df32c40d66a6349aabc4420 0 iD8DBQBPSokDsBKtjPGfWZ8RAum7AJ0Y2EINkKQTOsPS3laM3JcHvL1amACeKqOHXFYUqSs1sCkmh37EZopamZ8=
+9b383441a18fb49ccd5a07465d3e3db8821cccf6 0 iD8DBQBPSokHsBKtjPGfWZ8RAkKWAKDKyR7c+5YPWwlIy5jWFsxoixJgmgCeIpOF0XtFrINayt+5wbZzpLjPjBg=
+17f8ed16524ba779af42913e51667e89b83a1887 0 iD8DBQBPSokKsBKtjPGfWZ8RAoxrAJ92W12gY7sEKmBioJdHlhzzqT22kgCff18dpvJe6wGmrJ/dWkvVXGSGND4=
+e33280bcaa3b1f3f5b93e633e2225e2440ecfd7c 0 iD8DBQBPSokOsBKtjPGfWZ8RAnqcAJ9jpRe6TdwSxAd4k7yGJZ7wdQxaeQCbBWRXPktHpCvI6NVJzLT5wyQGy1E=
+01fac0a015581bbdf7e38561ad2a95405e2ca785 0 iD8DBQBPSokTsBKtjPGfWZ8RAoFgAJ46ZbU0P4b/lisAT9qmqTlEltyvOgCfRXPijH+Abkv39uLBp5cCMim32Qw=
+ff19463729d8f9bbea35171d641c5f28cdacc7c8 0 iD8DBQBPSokYsBKtjPGfWZ8RApjgAJ9jmF77qtz59imnoykAfmikS14CYQCfR6k0jnOwlkRUI81Qs3IcT+mVvlc=
+fc1aecbb9d80a32d9c802a5208dfdc012f1ba9d5 0 iD8DBQBPSokcsBKtjPGfWZ8RAt6eAJ4tVxCPebIPX5R3eF9ILYiiReK/gACfewPvct6SE7cKJY8m2h4TLMqDYNk=
+ff764395a361257b11d73583a0e0851e0f5f2ee5 0 iD8DBQBPSokgsBKtjPGfWZ8RAnu9AKCkqinT0Cc+nPv8xP6bUqCjKJo8twCgrSnQcI3h4p6zWsPj8CmgX3dvD7s=
+86395fcaded38aca33facf7c8263d23622eea2bd 0 iD8DBQBPSokksBKtjPGfWZ8RAt97AKCxQ68V5CsS5voWI7lMe0Bj79fjAwCdFL4YfnG+MqWhxn18TZwlie+tedk=
+8b7c25bfb056ee9b907877b462c132e61112e440 0 iD8DBQBPSoknsBKtjPGfWZ8RAtv6AKDCjeuqRVPZm+OXTxvQ0wZO5Q4BlQCePEG8YxCdjiPSSHp1cXhr4Sge8JA=
+acba7a8c29cca74b112c2c6db4310ddeb1524696 0 iD8DBQBPSokrsBKtjPGfWZ8RAmajAKCe/oPgSKAgVOIQM87EwL7PnTZWawCeKdel2XVFACwoePOerYTWGh1ymjA=
+342128b2fcf59bfe8844b282a228581aa8bbbbde 0 iD8DBQBPSokwsBKtjPGfWZ8RAmo0AKDHz2T3y4gD3kVfIyilXltO/F7dVwCgxGCtufhxSoMA10HTIpUvqLI3INg=
+dde68fe11b973767f0b743ced2b41a244e1e0b78 0 iD8DBQBPSokzsBKtjPGfWZ8RAlZZAJ9wLB2jL+oQBohbv45Dp2nvVyRrMgCcCtg4omZNCMxbLHXt8p015OU+vj8=
diff --git a/src/xine-engine/metronom.c b/src/xine-engine/metronom.c
index 0ee481d35..3758d1749 100644
--- a/src/xine-engine/metronom.c
+++ b/src/xine-engine/metronom.c
@@ -745,23 +745,41 @@ static void metronom_clock_set_option (metronom_clock_t *this,
static int64_t metronom_get_option (metronom_t *this, int option) {
- if (this->master)
- return this->master->get_option(this->master, option);
+ int64_t result;
+
+ pthread_mutex_lock (&this->lock);
+
+ if (this->master) {
+ result = this->master->get_option(this->master, option);
+ pthread_mutex_unlock (&this->lock);
+ return result;
+ }
switch (option) {
case METRONOM_AV_OFFSET:
- return this->av_offset;
+ result = this->av_offset;
+ break;
case METRONOM_SPU_OFFSET:
- return this->spu_offset;
+ result = this->spu_offset;
+ break;
case METRONOM_FRAME_DURATION:
- return this->img_duration;
+ result = this->img_duration;
+ break;
case METRONOM_VPTS_OFFSET:
- return this->vpts_offset;
+ result = this->vpts_offset;
+ break;
case METRONOM_PREBUFFER:
- return this->prebuffer;
+ result = this->prebuffer;
+ break;
+ default:
+ result = 0;
+ xprintf(this->xine, XINE_VERBOSITY_NONE, "unknown option in get_option: %d\n", option);
+ break;
}
- xprintf(this->xine, XINE_VERBOSITY_NONE, "unknown option in get_option: %d\n", option);
- return 0;
+
+ pthread_mutex_unlock (&this->lock);
+
+ return result;
}
static int64_t metronom_clock_get_option (metronom_clock_t *this, int option) {