Mailing Lists: Apple Mailing Lists

Image of Mac OS face in stamp
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: TimeStamps with ischo. transfers



I'm using a legacy DCL program, and while I don't use timestamps for send (I do for receive), I update after each group of SendPacketStart (is this incorrect?).  After each group of sends, I do a group update, and the callproc follows, rinse and repeat, etc while tending to modifying jumps.  Is this ordering incorrect for a legacy talk (send) DCL program?
 
thanks,
 
Philip Lukidis
 
Here is a partial listing:

kDCLSetTagSyncBitsOp tag = 1 sync = 0 (x1)
kDCLLabelOp [0x33e38ff0] (x1)
kDCLSendPacketStartOp size = 392 (x12)
kDCLUpdateDCLListOp  list = 0x33e36480 num = 12 (x1)
kDCLCallProcOp addr = 0x31273134 (x1)
kDCLJumpOp label = 0x33e39124 (x1)
kDCLLabelOp [0x33e39124] (x1)
kDCLSendPacketStartOp size = 392 (x12)
kDCLUpdateDCLListOp  list = 0x33e364b0 num = 12 (x1)
kDCLCallProcOp addr = 0x31273134 (x1)
kDCLJumpOp label = 0x33e39258 (x1)
kDCLLabelOp [0x33e39258] (x1)
kDCLSendPacketStartOp size = 392 (x12)
kDCLUpdateDCLListOp  list = 0x33e364e0 num = 12 (x1)
kDCLCallProcOp addr = 0x31273134 (x1)
kDCLJumpOp label = 0x33e3938c (x1)
kDCLLabelOp [0x33e3938c] (x1)
kDCLSendPacketStartOp size = 392 (x12)
kDCLUpdateDCLListOp  list = 0x33e36510 num = 12 (x1)
kDCLCallProcOp addr = 0x31273134 (x1)
kDCLJumpOp label = 0x33e394c0 (x1)
kDCLLabelOp [0x33e394c0] (x1)
kDCLSendPacketStartOp size = 392 (x12)
kDCLUpdateDCLListOp  list = 0x33e36540 num = 12 (x1)
kDCLCallProcOp addr = 0x31273134 (x1)
kDCLJumpOp label = 0x33e395f4 (x1)
kDCLLabelOp [0x33e395f4] (x1)
kDCLSendPacketStartOp size = 392 (x12)
kDCLUpdateDCLListOp  list = 0x33e36570 num = 12 (x1)
kDCLCallProcOp addr = 0x31273134 (x1)
kDCLJumpOp label = 0x33e39728 (x1)
kDCLLabelOp [0x33e39728] (x1)
kDCLSendPacketStartOp size = 392 (x12)
kDCLUpdateDCLListOp  list = 0x33e365a0 num = 12 (x1)
kDCLCallProcOp addr = 0x31273134 (x1)
kDCLJumpOp label = 0x33e3985c (x1)
kDCLLabelOp [0x33e3985c] (x1)
kDCLSendPacketStartOp size = 392 (x12)
kDCLUpdateDCLListOp  list = 0x33e365d0 num = 12 (x1)
kDCLCallProcOp addr = 0x31273134 (x1)
kDCLJumpOp label = 0x33e39990 (x1)
kDCLLabelOp [0x33e39990] (x1)
kDCLSendPacketStartOp size = 392 (x1)
[1 update here also for this dummy send]
kDCLCallProcOp addr = 0x31273180 (x1)   <----- overrun proc, should never be reached except under exceptional circumstances
-----Original Message-----
From: BlazeAudio Developer [mailto:email@hidden]
Sent: Friday, October 21, 2005 2:26 AM
To: email@hidden
Subject: Re: TimeStamps with ischo. transfers

At 03:12 AM 10/21/2005, Niels wrote:
Hi Devendra

When your update runs, the timestamp is copied out of the hardware program into your time stamp buffer.

Aha! Perhaps this is where the problem lies with isoch. sends.

For isoch. sends, the "update" has to run "before" the packet is sent, correct?

[At least that's what the requirement was with legacy DCLs]

In that case, the timestamp that is copied to our time stamp buffer is actually invalid, or perhaps "stale". Because up to that time(when the update is run), the data has not even been sent, so how could it know what time it will be sent!

When you call notify( kFWNuDCLModifyNotification ), the hardware descriptors for the affected DCLs will be rewritten... your timestamps on the recompiled DCL may no longer be valid, so inspect them before calling notify().

Yes! I do inspect them before calling notify()! But it's good to know that it's a requirement!

Does that help?

Yes. I think this explanation (with the update running before the data is sent) matches my observations.

Thanks.
Devendra.
 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Firewire mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/firewire/email@hidden

This email sent to email@hidden



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2007 Apple Inc. All rights reserved.