IPB

Welcome Guest ( Log In | Register )

WMA: Stream Properties Object (WAVEFORMATEX)
Liandril
post Aug 27 2010, 19:40
Post #1





Group: Members
Posts: 5
Joined: 27-August 10
Member No.: 83419



Hi everyone and first of all: sorry for my English!

I'm currently writing an extraction tool for a german game that uses .xwb-files (Microsoft XACT Wavebanks). There
are already quite a lot of xwb extraction tools, but most of them only work for older games, because Microsoft
changes the file format from time to time. So "old" extraction tools won't work with "new" xwbs.

xwb files can contain a collection of waves (pcm, adpcm, wma or xma). Unfortunately, there is currently no tool
that's able to extract wma data from "newer" xwb files... therefor I'm writing my tool, trying to extract the .xwb to valid .wma files.
Extracting the wma DATA is quite easy and I'm able to transform them to a ASF DATA OBJECT (probably you know: wma is actually ASF
(roughly spoken). And a valid .wma file consists of at least 5 objects:Header Object, File Properties Object, Stream Properties
Object, Header Extension Object and Data Object).
My problem is the Stream Properties Object which contains a WAVEFORMATEX structure. Appended to the WAVEFORMATEX
structure is a "Code Specific Data Section" for WMA (which is not described in the ASF Specification):

dwSamplesPerBlock DWORD
wEncodeOptions WORD
dwSuperBlockAlign DWORD

Unfortunately I've no idea how to determine the values for these fields (especially the wEncodeOptions). crying.gif
So I'd really, really appreciate, if someone could give me a hint about this WMA-Code specific data section...
Thanks a lot!

This post has been edited by Liandril: Aug 27 2010, 19:42
Go to the top of the page
+Quote Post
 
Start new topic
Replies
saratoga
post Aug 27 2010, 22:04
Post #2





Group: Members
Posts: 4866
Joined: 2-September 02
Member No.: 3264



If it helps virtually all WMA files in existence define use_exp_vlc = use_bit_reservoir = use_variable_block_len = 1. Knowing that, the sample rate, bits per sample, etc you might be able to track down the resulting bytes in the source bitstream.
Go to the top of the page
+Quote Post

Posts in this topic


Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



RSS Lo-Fi Version Time is now: 30th July 2014 - 17:00