Changes between Version 10 and Version 11 of CompilationGuide/WinRT


Ignore:
Timestamp:
May 20, 2015, 5:40:44 AM (4 years ago)
Author:
timargo
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • CompilationGuide/WinRT

    v10 v11  
    11= Compile and Use FFmpeg Libraries for Windows Runtime (WinRT) =
    22
    3 [[PageOutline(2)]]
     3[[PageOutline(1-2)]]
    44
    55FFmpeg libraries can be built and used for Windows Apps development targeting '''Windows 10''', '''Windows 8.1''', and '''Windows Phone 8.1'''. The guide below provides build instruction for all supported target configurations (platform & architecture). Each configuration requires distinct set of tools, environment variables, and configure options outlined in each section below. It concludes with some practical and potentially non-obvious information for consuming the FFmpeg DLLs from your app.
     
    77----
    88
    9 == Prerequisites and First Time Setup Instructions ==
    10 
    11 === Prerequisites ===
     9= Prerequisites and First Time Setup Instructions =
     10
     11== Prerequisites ==
    1212
    1313* For Windows 10: [https://dev.windows.com/en-us/downloads/windows-10-developer-tools Microsoft Visual Studio 2015] (tested with Visual Studio 2015 RC)
     
    5959Place the downloaded Perl script in your MSYS2 path. E.g. `C:\msys64\usr\bin\gas-preprocessor.pl`
    6060
    61 === Verifying your FFmpeg Environment Setup ===
    62 
    63 Launch '''VS2013 ARM Cross Tools Command Prompt'''
    64 {{{
    65 Start Menu > Visual Studio 2013 (Start Menu Folder) > Visual Studio Tools > VS2013 ARM Cross Tools Command Prompt
     61== Verifying your FFmpeg Environment Setup ==
     62
     63Launch Visual Studio '''ARM Cross Tools Command Prompt'''. E.g.
     64{{{
     65C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Visual Studio 2015\Visual Studio Tools\Windows Desktop Command Prompts\VS2015 x86 ARM Cross Tools Command Prompt
    6666}}}
    6767
     
    9999
    100100----
     101
     102= Compiling for Windows 10 =
    101103
    102104== Windows 10 x86 ==
     
    277279}}}
    278280
    279 
    280 ----
     281----
     282
     283= Compiling for Windows 8.1 =
    281284
    282285== Windows Store 8.1 x86 (Windows 8.1 Win32 in Visual Studio) ==
     
    531534----
    532535
    533 == Windows Store Certification, File I/O, and Other Details ==
     536= Windows Store Certification, File I/O, and Other Details =
    534537
    535538FFmpeg is an excellent alternative to Windows Media Foundation, which supports a small fraction of the codecs that FFmpeg has. Fortunately,
     
    553556
    554557Alternatively, if you don't want to use Windows Runtime extensions, and don't mind COM, you can use the Windows 8-API function `CreateStreamOverRandomAccessStream`, which gives you an `IStream*` COM interface from an `IRandomAccessStream^`, utilizes synchronous I/O, and can be passed as the `void* opaque` member of the IO context. The `IStream` I/O calls are easier to use with C++ since they support direct pointer buffer access (you don't have to deal with `IBuffer`) and more closely correspond to the functions required in `AVIOContext`. However, you should still make sure to wrap any code that utilizes file I/O in a background thread, as excessive blocking of the UI does violate Windows Store guidelines and may cause your app to be terminated at runtime.
     558
     559----
     560
     561= Verifying Built FFmpeg Libraries and Sample Applications =
     562
     563The generated FFmpeg libraries from the compilation above can be consumed by '''Windows Runtime Components''' or '''Apps'''. They can be tested against the interop component and sample media players in the following project:
     564
     565https://github.com/Microsoft/FFmpegInterop
     566