How to set the cue time of an ID3 Metadata tag injected into HLS stream?

I am injecting metadata into a live stream using this approach:
https://www.wowza.com/docs/how-to-convert-ontextdata-events-in-a-live-or-vod-stream-to-timed-events-id3-tags-in-an-apple-hls-stream

In my player, I want to process the metadata in the HLS stream a bit before the corresponding video frame it aligns with. It seems the ID3 tag time is just based on where the live stream is at the moment I inject it, but I would like to set the time of this metadata to few seconds BEFORE the current video frame so I can process it on the client ahead of time. How do I set the actual cue time of the ID3 metadata?

Right now I tried this but it didn’t work…

public void onFillChunkDataPacket(LiveStreamPacketizerCupertinoChunk chunk, CupertinoPacketHolder holder, AMFPacket packet, ID3Frames id3Frames) { 

   <Injection code here>

   long absTimecode = packet.getAbsTimecode(); 
   packet.setAbsTimecode(absTimecode - 10000);

}