MP3 Sound tags

From Gnash Project Wiki

Jump to: navigation, search

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:

  1. DelaySeek - a signed 16bit integer found in DefineSound tags (libcore/swf/tag_loaders.cpp)
  2. latency - a signed 16bit integer found in SoundStreamHead tags (libcore/swf/tag_loaders.cpp)
  3. 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)

Embedded Streaming sounds

Tests for this are welcome. These are for latency and seekSamples.