How to fix OSMF 2.0 to work correctly with non-zero starttimes

An issue in Open Source Media Framework (OSMF) version 2.0 can cause media players that are built on it to fail to play video on demand (VOD) and DVR video if the playback URL specifies a non-zero starttime for the wowzaplaystart and wowzadvrplayliststart URL parameters. For example:


This issue has been submitted to the OSMF bug database as bug number SDK-32326.
Note: You must log in or sign up for an account with the Adobe Bug System to view the OSMF bug database.
This article describes how to use Adobe Flash Builder 4 to update OSMF.swf to resolve this issue.

To install and configure OSMF 

  1. Adobe Flex SDK 4.5.1 or later is required. Download Adobe Flex SDK (Latest Flex SDK or Flex SDK 4.5.1) and extract the files to the Adobe Flash Builder 4.x/sdks/4.x.x folder on your computer.
  2. Download and extract OSMF 2.0 (or later): Latest OSMF
  3. Start Adobe Flash Builder and select a new workspace folder.
  4. On the Flash Builder File menu, select Import Flash Builder Project.
  5. In the Import Flash Builder Project dialog box, select the Project folder option and then use the Browse button to select the OSMF project in your unzipped OSMF download ([install-dir]OSMF-srcOSMFframeworkOSMF). Then click the Finish button to close the Import Flash Builder Project dialog box.
  6. In Package Explorer, select the OSMF project.
  7. On the File menu, select Project > Properties.
  8. In the Properties for OSMF dialog box, select Flex Library Compiler and then select the Flex SDK version to use on the Flex Library Compiler page. Note that Adobe Flex SDK 4.6.0 requires that Adobe Flash Player 11.1 be installed, while Adobe Flex SDK 4.5.1 requires that Adobe Flash Player 10.2 (or later) be installed.
  9. At the bottom of the Flex Library Compiler page, in the Additional compiler arguments box, add the following to the compiler arguments if it doesn't exist:
    -locale en_US -define CONFIG::LOGGING true -define CONFIG::PLATFORM true -define CONFIG::MOCK false -define CONFIG::FLASH_10_1 true

To update OSMF.swf 

  1. In Adobe Flash Builder, open the OSFM project file [install-dir]OSMF-srcOSMFframeworkOSMForgosmf
  2. Find the calculateFragmentId(fdp:FragmentDurationPair, time:Number):uint function and modify the code as follows:

    if (fdp.duration <= 0)
        return fdp.firstFragment;
    if (fdp.duration <= 0 || time < fdp.durationAccrued)
        return fdp.firstFragment;
  3. Save the changes. If you've configured Flash Builder to build projects automatically, the updated OSMF.swf file can be found in the OSMF project bin directory. Otherwise, in Flash Builder, select Project > Build Project to generate an updated OSMF.swf file in the OSMF project bin directory. 

Originally Published: 01-10-2013.

If you're having problems or want to discuss this article, post in our forum.