MP3 Sound tags
From Gnash Project Wiki
MP3 sound tags have a special field which Gnash doesn't use at all. This is referred to with 3 different names, but most likely all have the same semantic. The names are:
- DelaySeek - a signed 16bit integer found in DefineSound tags (libcore/swf/tag_loaders.cpp)
- latency - a signed 16bit integer found in SoundStreamHead tags (libcore/swf/tag_loaders.cpp)
- seekSamples - an (un)signed 16bit integer found in StreamSoundBlock tags (libcore/swf/StreamSoundBlockTag.cpp)
They probably all refer to the same thing, which is skipping some samples when playing them. Gnash logs an UNIMPLEMENTED message in all cases, but just once for each during a single run.
Embedded Event sounds
hestekor.swf is a good test for the DelaySeek case: an event sound seems to have too much silence between loops.
The sounds are EVENT sounds and have no inPoint/outPoint but the DEFINESOUND does have a delaySeek of 1673.
Tests performed independently (under more controlled environment: a majorscale) show that delaySeek still keeps gaps on second loop iteration of event sounds, playing as many silences as specified by the delaySeek so I'm lost...
These are the tests showing the difference between inPoint and delaySeek. If anyone can test with the adobe player for windows I'll appreciate it (send a note to gnash-dev if you do)
- inPoint based offset: http://foo.keybit.net/~strk/tmp/majorscale-fast-11khz-16bit-inPoint.swf
- mp3 delaySeek based offset: http://foo.keybit.net/~strk/tmp/majorscale-fast-11khz-16bit-MP3delaySeek.swf (please do NOT click with the mouse in it as that triggers a new sound start)
Embedded Streaming sounds
Tests for this are welcome. These are for latency and seekSamples.