Allan Schaffer (allan++at++southpark.engr.sgi.com)
Wed, 25 Aug 1999 09:50:53 -0700 (PDT)
I assume you're running IRIX 6.5.x. This is an IRIX bug that was
introduced in IRIX 6.5 and just recently fixed for IRIX 6.5.5. The
best overall solution would be to upgrade unless this causes problems
for Vega. IRIX 6.5.5 is on the SGI website (support.sgi.com) and
CD's should be shipping around now.
Here's what's mentioned in the Performer relnotes;
6.1.1 Problems_fixed_in_IRIS_Performer_2.2.6
o A change in the semantics of sginap() could cause
frames to be missed if the application was running in
FLOAT or LOCK phase and finishing its frame more than a
full video field early. See Chapter 4 of these release
notes for more details. This has been fixed in IRIX
6.5.5 (SCR 635983).
[and from Chapter 4:]
4.1 IRIX 6.5
In IRIX 6.5 through IRIX 6.5.4, a change in the semantics of
sginap() can cause frames to be missed if the application is
running in FLOAT or LOCK phase and finishing more than a
full field early. The sginap() call is used by IRIS
Performer specifically in the case where the application
finishes more than a full field ahead of schedule. This
does not affect applications running at field rate (ie. 60
Hz) or applications running at their requested rate.
A workaround is to give the program a realtime scheduling
priority using the npri program (which must be run as root
or with the CAP_SCHED_MGT capability):
# npri -s RR -r <any number 0-255> <program> <args>
or:
# npri -s FIFO -r <any number 0-255> <program> <args>
To allow users to run npri without full root permissions,
you can give the npri program the set-capability-on-
execution attribute:
# chcap CAP_SCHED_MGT+eip /usr/sbin/npri
If you later want to change it back:
# chcap all= /usr/sbin/npri
See the npri(1) and chcap(1) references pages for more
information.
-- Allan Schaffer allan++at++sgi.com Silicon Graphics http://reality.sgi.com/allan
This archive was generated by hypermail 2.0b2 on Wed Aug 25 1999 - 09:51:19 PDT