diff options
author | Mike Lampard <mlampard@users.sourceforge.net> | 2002-03-31 14:36:42 +0000 |
---|---|---|
committer | Mike Lampard <mlampard@users.sourceforge.net> | 2002-03-31 14:36:42 +0000 |
commit | d243ac5499433b23d55687fafaf52e33a5eab5ab (patch) | |
tree | e0de86609778bb37f824125a21b2a932e14b14d3 /src/xine-engine/metronom.c | |
parent | 2f7bba0bd01b3814c7239a9907c4c652d7718cb8 (diff) | |
download | xine-lib-d243ac5499433b23d55687fafaf52e33a5eab5ab.tar.gz xine-lib-d243ac5499433b23d55687fafaf52e33a5eab5ab.tar.bz2 |
patches by Michael Roitzsch for dxr3 compatibility: introduce a new metronom
option deny_backward_adjust, which, when set, only allows positive adjustments
to vpts_offset.
CVS patchset: 1649
CVS date: 2002/03/31 14:36:42
Diffstat (limited to 'src/xine-engine/metronom.c')
-rw-r--r-- | src/xine-engine/metronom.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/xine-engine/metronom.c b/src/xine-engine/metronom.c index 689274239..4f5b2b87d 100644 --- a/src/xine-engine/metronom.c +++ b/src/xine-engine/metronom.c @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * - * $Id: metronom.c,v 1.76 2002/03/26 01:47:17 miguelfreitas Exp $ + * $Id: metronom.c,v 1.77 2002/03/31 14:36:42 mlampard Exp $ */ #ifdef HAVE_CONFIG_H @@ -521,11 +521,15 @@ static void metronom_set_option (metronom_t *this, int option, int64_t value) { this->scr_adjustable = value; break; case METRONOM_ADJ_VPTS_OFFSET: - this->vpts_offset += value; + if (!this->deny_backward_adjust || value > 0) + this->vpts_offset += value; /*#ifdef LOG*/ printf ("metronom: adjusting vpts_offset by %lld\n", value ); /*#endif*/ break; + case METRONOM_DENY_BACKWARD_ADJUST: + this->deny_backward_adjust = value; + break; default: printf ("metronom: unknown option in set_option: %d\n", option); @@ -540,6 +544,8 @@ static int64_t metronom_get_option (metronom_t *this, int option) { return this->av_offset; case METRONOM_SCR_ADJUSTABLE: return this->scr_adjustable; + case METRONOM_DENY_BACKWARD_ADJUST: + return this->deny_backward_adjust; } printf ("metronom: unknown option in get_option: %d\n", option); @@ -692,6 +698,7 @@ metronom_t * metronom_init (int have_audio, void *xine) { this->in_discontinuity = 0; this->vpts_offset = 0; this->next_vpts_offset = 0; + this->deny_backward_adjust = 0; /* initialize video stuff */ |