Home | History | Annotate | Download | only in opencore
      1 ===============================================================================
      2 2009-03-10  OpenCORE 2.02
      3 
      4 ********
      5    There is minor version number nomenclature change where the 
      6    minor version is now two digits.  So the previous releases 
      7    in the new nomenclature are 2.00 (2.0) and 2.01 (2.1).  The 
      8    new release is 2.02, which is a minor version increment beyond
      9    the previous release.
     10 ********
     11 	
     12 New Features
     13 - AMR-WB support added to the OMX encoder node so that it can utilize 
     14   an OMX AMR-WB encoder component if it is part of the OMX core. 
     15 - Buffer allocator mechanism allowing the Media I/O components to 
     16   supply buffers to the OMX decoders.  This method is especially useful
     17   as an alternative way to allocate video buffers.  Details can be 
     18   found in the new document "Guide to Supplying Decoder Buffers from 
     19   the MIO Component" in the file mio_decoder_buffer_allocation_guide.pdf
     20   in the top-level doc directory.
     21 
     22 Improvements
     23 - Resolution of Valgrind and static analysis warnings in player and author
     24 - Improvements in support for .mov files in MP4 FF Parser(relaxed some checks).
     25 - Modified OMX encoder node to allow setting the AMR bitrate 
     26   based on an extension interface value.
     27 - Fix inconsistencies in OSCL find method related to inclusion of the 
     28   directory name with the filename.
     29 - Improvement in PVMFInfoErrorHandlingComplete in the player datapath
     30 - Refactor of the Protocol Engine node to support a plugin architecture.  
     31   This improves extensibility of the module for new features in the future.
     32 - Introduce QueryInterfaceSync in PVMFNodeInterface and "all" metadata key
     33 - AMR NB and WB have conflicting meaning for frame_type and mode elements
     34 - Change the default settings related to caching for Oscl_File when 
     35   using PVFile within the fileformat parsers.
     36 - Replace test.mp4 with interop clip
     37 - Update of tests for support for progressive download of AMR
     38 - OMX Khronos header files (Omx_Core.h, Omx_Component.h) capitalization 
     39   changed to match that from the Khronos (previously they were all lowercase).
     40 - Updated MIO Developer's Guide in the top-level doc directory.
     41 
     42 Bugs Fixed
     43 - Memory leak when running GCF TC212 (2way-related)
     44 - MediaClockConverter divided by zero caused by timescale 0
     45 - MP4 composer node destructor memory corruption fixed.
     46 - Fix for intermittent crash in player engine TC 105
     47 - OMX dec node did not reset all the internal state during 
     48   Reset processing.  
     49 
     50 ===============================================================================
     51 2009-02-26  OpenCORE 2.1 (2.01)
     52 
     53 New Features
     54 * OpenMAX Codec-related:
     55   - Introduced the OMXConfigParser API to help in determining
     56     which OpenMAX components can support the input bitstream.
     57     It is used to narrow the list of candidate OpenMAX components
     58     to be used for playback.  See the OpenMAX Core Integration Guide
     59     document in the doc directory for more information.
     60   - Added OMX AAC encoder support in the OMX encoder.
     61   - Modified to use separate component roles for AMR-NB and AMR-WB as
     62     described in the OpenMAX IL spec version 1.1.2.
     63   - Added support for a new buffer format for H.264/AVC decode and
     64     encode to allow passing multiple NALs in a single buffer.  
     65     The format uses OMX_OTHER_EXTRADATA structure defined in 
     66     section 4.2.33 of the OpenMAX IL spec version 1.1.2 to pass 
     67     NAL lengths.  See the OpenMAX Core Integration Guide document 
     68     in the doc directory for more information.
     69 * Author-related:
     70   - Added support for authoring files with AAC audio.
     71   - Added support for authoring AMR-WB audio to MP4/3GP files and
     72     IETF storage format.
     73   - Added support for writing to an open file descriptor as an option
     74     instead of simply providing a filename.  The file descriptor
     75     option is useful for cases where another process needs to open 
     76     the file because of permissions.
     77 * Added large file support in OSCL (i.e., 64-bit file size/offset
     78     support) to handle files greater than 2 GiB on filesystems that 
     79   support it.
     80 * Added rotation support in the 32-bit color-conversion class.
     81 
     82 Improvements
     83 * Removed dynamically loaded modules from the prelink map to avoid
     84   clutter and to make both the prelink map and loadable modules 
     85   easier to manage.  There may be an issue if a single instance of 
     86   a process tries to load libraries not in the prelink map more than 
     87   256 times
     88   (See http://code.google.com/p/android/issues/detail?id=2042).
     89 * Update to the MP3 Decoder to fix security issue (oCERT_2009-002,
     90   CVE-2009-0475)
     91 * Renamed the OSCL config directory linux_nj to android to match the
     92   platform name.  Replaced all references of nj with android in the 
     93   codebase.
     94 * General security improvements found from static analysis in the
     95   following areas:
     96   - Buffer and type overruns and underruns
     97   - Null pointer references
     98 * Refactored the jitter buffer node into a more modular architecture
     99   for better support of different streaming use-cases and protocols.
    100 * Fixed an issue in the MP3 decoder when decoding for very of long
    101   durations (over 2 GiB of data).
    102 * General improvements found during 3GPP packet-switched streaming
    103   interoperability testing.
    104 * General improvements and resolution of issues found from module
    105   level and engine (player, author, 2-way) level unit testing.
    106 
    107 New APIs / Behaviors
    108 * Added support in the player engine to cancel a single pending
    109   command using the CancelCommand API.  See the player engine API 
    110   document for details.
    111 * Renumbered the author test cases to avoid issues with
    112   preprocessor conditionals changing the test numbers based on 
    113   settings.  Now the test numbers shouldn't change.
    114 * In the case of 3rd party OMX components that support multiple roles,
    115   returns an error if the component cannot set the role parameter
    116 * OMX components need to explicitly set nPortIndex parameter for
    117   all appropriate parameters
    118 * Added fix for buffering percentage notification in streaming
    119   scenario (see https://review.source.android.com/Gerrit#change,8699)
    120 * Updated omx shared library build configuration to separate component
    121   registration from component build
    122 * Added methods in baselibs to serialize and deserialize the UTF-16,
    123   UTF-16LE, UTF-16BE strings
    124 * Removed the iUseCPMPluginRegistry flag from the source data that was
    125   previously used to enable the content policy manager.  
    126   Since the CPM pluginsare dynamically loaded, the flag is not 
    127   needed and was removed.  See the playerdriver.cpp for details
    128   of the change. 
    129 
    130 ===============================================================================
    131 2009-01-26  OpenCORE 2.0 (2.00)
    132 
    133 New Features
    134 - Consolidation of the clock logic into a common clock object
    135   (PVMFMediaClock).  More details will be provided in a 
    136   Tech note at a later time.
    137 - Refactor MP4 Composer library
    138 - omx component refactoring (Introducing base omx component class)
    139 - OMX Encoder Support
    140 - Check URIs for illegal characters and run escaping algorithm if any
    141   are found.
    142 - Support for 3GPP AssetInfo Metadata in Author SDK
    143 - MP3 Dynamic TOC Construction
    144 - Modify MPEG4/H.263 node/library to support arbitrary Decoder
    145   Configuration Information (DCI)
    146 - backward playback support for MP4
    147 - Refactoring Colorconversion from mpeg4 encoder and adding support
    148   for YUV420SemiPlanar
    149 - Refactor streaming manager node into feature specifc plugins
    150 - Thread Safe Player Engine APIs and Thread Safe queue
    151 - Adding capability to turn off AC prediction and change
    152   IntraDCVlcThreshold for MPEG4 encoder library
    153 - Dynamically populate recognizer registry
    154 - add 2way support for OpenCORE
    155 - Combine OMX audio dec node and Video Dec node
    156 - OMX MasterCore
    157 - Apply new RGB to YUV color conversion libraries to OMX encoder
    158   components
    159 - Use loadable modules in CPM
    160 - Adding support for YUV420Semiplanar to avc encoder, m4v encoder and
    161   author
    162 - introduce dynamic loading of individual omx components
    163 
    164 Improvements
    165 - Removal of all compiler warnings reported by Android compiler
    166   Exception: unit test app code
    167 - Module-level unit test fixes
    168 - Various Valgrind errors and fixes
    169 - Various Codesonar warnings and fixes
    170 - various security audit and fixes
    171 - various memory leak fixes
    172 - various crash, hang fixes for specific test content or test cases
    173 - Re-work Oscl Scheduler semaphore & lock
    174 - Author Engine Error Handling Robustness
    175 - Player Engine Error Handling Robustness
    176 - Add capability of assembling partial frames and inserting NAL start
    177   codes to OMX node
    178 - The media I/O component configuration process needs to be improved.
    179 - Fundamental change in behavior of repositioning during 3GPP
    180   streaming
    181 - Improvements to the PV FrameMetadataUtility [FMU]
    182 - mp3 parser - duration calculation by walking file in background
    183 - IOT merges from 2-way team
    184 - Longevity issues with live streaming
    185 - Local Playback MP3 file does not display attached art work
    186 - Issues with Oscl Leave, Panic, and Assert
    187 - Modify allocators to not leave in case of an alloc failure, but
    188   instead have them return OsclErrNoMemory
    189 - Conversion of strcmp and strstr usage to strncmp for non null
    190   terminated Strings
    191 - Change Oscl memory auditing from TLS-based to Singleton-based
    192 - Buffer status report in a periodical manner to improve the app
    193   awareness about how engine is running in low bandwidth for PDL/PS
    194 - AVC Encoder Improved Rate Control
    195 - State Transition: Remove implicit ThreadLogoff() from Nodes
    196 - Include aac recognizer for Android
    197 - Audit MP4 parser against new iTunes spec
    198 - Replace PVMFSMSharedBufferAllocWithReSize allocator with
    199   OsclMemPoolResizableAllocator
    200 - Player Engine registry re-work
    201 
    202 New KVPs / APIs / API behaviors
    203 - Change Download Manager Stop Command to Stop Download
    204 - Add a KVP to configure jitter buffer inactivity run time from the
    205   app
    206 - OSCL Critical Error Handling
    207 - Adding kvp in SM node to set rtsp_timeout timer in rtsp engine node
    208 - Get rid of "getTrackOTIType" API in parser lib and switch mp4 parser
    209   node to use "getTrackMIMEType".
    210 - Adding capability to turn off AC prediction and change
    211   IntraDCVlcThreshold for MPEG4 encoder library
    212 - Deprecate PVMFCPMPluginLocalSyncAccessInterface
    213 - Introduce new API in Engine to Release MetaData Values
    214 - Use of PVMF format types in player registries
    215 - Introduce new kvp key to set jitter buffer size
    216 - Add a new meta data key to Mp3ParserNode to support channel mode
    217   retrieval
    218 - Support for taking in video bitrate and other params from a config
    219   file, for uncompressed AVI test cases.
    220 - Deprecate TLS-based memory audit
    221 - Use KVP "nodedataqueuing_timeout" instead of compile time tuneable
    222   "SYNC_POINT_DIFF_THRESHOLD"
    223 - Please apply "mode=" for "x-pvmf/net/user-agent;valtype=char*" key.
    224 - Change libpv*.so to libopencore_*.so
    225 - Singleton and lock/unlock mechanism needed for OMX master core
    226   globals
    227 - In case of 3rd party OMX components that support multiple roles -
    228   input dec format and output enc format needs to be specified
    229 - OMX Core plugin code (for 3rd party omx cores integration)
    230 
    231 Known Issues
    232 - Had to temporarily remove the doc directory because of conflicts
    233   with Gerrit and PDF files. These will be uploaded again now that
    234   Gerrit is updated.
    235 - Additional documentation will be released as soon as possible.
    236 - The OpenMAX encoder node is configuring the OpenMAX component with
    237   the wrong format for AMR. It is using
    238   OMX_AUDIO_AMRFrameFormatRTPPayload when it should be
    239   OMX_AUDIO_AMRFrameFormatFSF.
    240 - The OpenMAX encoder node is not handling Reset correctly in all
    241   cases. 
    242 
    243