I'm pleased to announce that OpenCORE 2.0 has been released with a major set of additions, improvements, and changes on top of the first OpenCORE release. It includes the initial release of the video telephony (a.k.a. 2way) engine, OpenMAX encoding support, easier integration of OpenMAX cores, and an improved media clock to name just a few. Additional and updated documentation will be following in the next week or so (I appreciate your patience on that), but we wanted to make the code available right away. See http://review.source.android.com/Gerrit#change,8604 for the code change information. Below is a more detailed list on some of the changes included and known issues:
New Features - Consolidation of the clock logic into a common clock object (PVMFMediaClock) More details will be provided in a Tech note at a later time. - Refactor MP4 Composer library - omx component refactoring (Introducing base omx component class) - OMX Encoder Support - Check URIs for illegal characters and run escaping algorithm if any are found. - Support for 3GPP AssetInfo Metadata in Author SDK - MP3 Dynamic TOC Construction - Modify MPEG4/H.263 node/library to support arbitrary Decoder Configuration Information (DCI) - backward playback support for MP4 - Refactoring Colorconversion from mpeg4 encoder and adding support for YUV420SemiPlanar - Refactor streaming manager node into feature specifc plugins - Thread Safe Player Engine APIs and Thread Safe queue - Adding capability to turn off AC prediction and change IntraDCVlcThreshold for MPEG4 encoder library - Dynamically populate recognizer registry - add 2way support for OpenCORE - Combine OMX audio dec node and Video Dec node - OMX MasterCore - Apply new RGB to YUV color conversion libraries to OMX encoder components - Use loadable modules in CPM - Adding support for YUV420Semiplanar to avc encoder, m4v encoder and author - introduce dynamic loading of individual omx components Improvement - Removal of all compiler warnings reported by Android compiler Exception: unit test app code - Module-level unit test fixes - Various Valgrind errors and fixes - Various Codesonar warnings and fixes - various security audit and fixes - various memory leak fixes - various crash, hang fixes for specific test content or test cases - Re-work Oscl Scheduler semaphore & lock - Author Engine Error Handling Robustness - Player Engine Error Handling Robustness - Add capability of assembling partial frames and inserting NAL start codes to OMX node - The media I/O component configuration process needs to be improved. - Fundamental change in behavior of repositioning during 3GPP streaming - Improvements to the PV FrameMetadataUtility [FMU] - mp3 parser - duration calculation by walking file in background - IOT merges from 2-way team - Longevity issues with live streaming - Local Playback MP3 file does not display attached art work - Issues with Oscl Leave, Panic, and Assert - Modify allocators to not leave in case of an alloc failure, but instead have them return OsclErrNoMemory - Conversion of strcmp and strstr usage to strncmp for non null terminated Strings - Change Oscl memory auditing from TLS-based to Singleton-based - Buffer status report in a periodical manner to improve the app awareness about how engine is running in low bandwidth for PDL/PS - AVC Encoder Improved Rate Control - State Transition: Remove implicit ThreadLogoff() from Nodes - Include aac recognizer for Android - Audit MP4 parser against new iTunes spec - Replace PVMFSMSharedBufferAllocWithReSize allocator with OsclMemPoolResizableAllocator - Player Engine registry re-work New KVPs / APIs / API behaviors - Change Download Manager Stop Command to Stop Download - Add a KVP to configure jitter buffer inactivity run time from the app - OSCL Critical Error Handling - Adding kvp in SM node to set rtsp_timeout timer in rtsp engine node - Get rid of "getTrackOTIType" API in parser lib and switch mp4 parser node to use "getTrackMIMEType". - Adding capability to turn off AC prediction and change IntraDCVlcThreshold for MPEG4 encoder library - Deprecate PVMFCPMPluginLocalSyncAccessInterface - Introduce new API in Engine to Release MetaData Values - Use of PVMF format types in player registries - Introduce new kvp key to set jitter buffer size - Add a new meta data key to Mp3ParserNode to support channel mode retrieval - Support for taking in video bitrate and other params from a config file, for uncompressed AVI test cases. - Deprecate TLS-based memory audit - Use KVP "nodedataqueuing_timeout" instead of compile time tuneable "SYNC_POINT_DIFF_THRESHOLD" - Please apply "mode=" for "x-pvmf/net/user-agent;valtype=char*" key. - Change libpv*.so to libopencore_*.so - Singleton and lock/unlock mechanism needed for OMX master core globals - In case of 3rd party OMX components that support multiple roles - input dec format and output enc fomrat needs to be specified - OMX Core plugin code (for 3rd party omx cores integration) Known issues: - Had to temporarily remove the doc directory because of conflicts with Gerrit and PDF files. These will be uploaded again now that Gerrit is updated. - Additional documentation will be released as soon as possible. - The OpenMAX encoder node is configuring the OpenMAX component with the wrong format for AMR. It is using OMX_AUDIO_AMRFrameFormatRTPPayload when it should be OMX_AUDIO_AMRFrameFormatFSF. - The OpenMAX encoder node is not handling Reset correctly in all cases. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "android-framework" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-framework?hl=en -~----------~----~----~----~------~----~------~--~---
