Git init
[external/opencore-amr.git] / opencore / ChangeLog
1 ===============================================================================
2 2009-08-06  OpenCORE 2.05
3
4 New Features
5 - Helper function to retrieve extended messages from command responses.
6
7 - Support for eAAC+ encode in the pvAuthor engine.
8
9 - Add conversion operations to OSCL_String classes.
10
11 - RTSPT support (3GPP streaming over TCP). To test, replace "rtsp" with "rtspt"
12 in the control URL (in source URL or SDP file). It is assumed that the user has
13 access to a server with TCP streaming capability.
14
15 - PV Metadata Engine (ME). This engine is targeted at applications that want
16 to retrieve metadata for any given clip in a generic manner. Typically, a lot
17 of these applications would like to scan large batches of content. Since ME 
18 is mainly targeted at apps like mediascanner, where speed is the most important
19 factor, thumbnail extraction is not supported. For applications that do want 
20 to extract thumbnails in a generic manner along with the metadata, PV's 
21 FrameAndMetadata Utility (FMU) is recommended instead.
22
23 - 2way Lip-Sync unit test cases.
24
25
26 Improvement
27 - A new base node implementation is introduced for the purpose of 
28   refactoring and consolidating common logic in the nodes. The changes
29   will improve maintainability and make it easier to create new nodes.
30   Further documentation will be released in the future providing guidelines
31   for authoring nodes.
32 - The following existing nodes were refactored to utilize the base node 
33   implementation mentioned above: AAC, AMR, and WAV parser nodes.
34 - Replace CodecSpecifier with PVMFFormatType.
35 - Move EventHandlerProcessing method to PVMFOMXBaseDecNode class.
36 - Change method type from "protected" to "private" in OMX derived classes
37 (videodec node and audiodec node).
38 - Adding robustness to avcdecoder to verify PPS and SPS parameters.
39 - Display status of every test case after it finishes in 2way unit test app.
40 - Add support to H.245 version 10.
41 - OMX node - Implement interleaved NAL sizes (to replace NAL start codes) in 
42 omx buffers carrying AVC frames.
43 - AMR-WB contributions to enable building in "C":
44 https://review.source.android.com/10014 
45 https://review.source.android.com/10015
46 https://review.source.android.com/10016 
47 https://review.source.android.com/10017 
48 https://review.source.android.com/10018 
49 - AMR-NB contributions to enable building in "C":
50 https://review.source.android.com/10297 
51 https://review.source.android.com/10301 
52 https://review.source.android.com/10302 
53 https://review.source.android.com/10303 
54 - Update OsclFileStats to track total time taken instead of only the 
55 maximum time per operation.
56 - Rename OMX master core methods to avoid linking conflicts.
57 - Pass key MOUT_VIDEO_SUBFORMAT_KEY to the video MIO of FMU.
58 - Remove Direct Render Mode from mp4 composer library. 
59 - AMR-NB and AMR-WB inline assembly is being re-enabled after a bug
60 in the QEMU assembly translation has been fixed.
61 - Modification of MIOs to take all configuration parameters at once.
62 - Move OMX input and output buffer ctrl structure away from data buffers.
63 - Enable byte-stream (H264-RAW) format decoding in OMX dec node.
64 - PVMFInfoTrackDisable information event should be report to java application.
65 - Retrieve the PLATFORM version at run time for the Android UserAgent string.
66 - OMX audio and video dec nodes need to be able to handle PortSettingsChanged
67 event with argument OMX_ALL.
68 - PVMFMediaClock latency handling improvement.
69 - AAC decoder creates artifacts when decoding clip.
70 - Modify MP4 composer node to do sample adds to mp4 composer lib in a separate
71 thread.
72 - Add support for VIDEO_ENCODER_H264 in authordriver.
73 - Author major brand "3gp5" if 3gp clip has TIMED-TEXT track.
74 - No interleaving of mp4 files for just one track.
75 https://review.source.android.com/10510 
76 - Return non-zero code when we detect a memory leak during unit tests.
77 - Add "3g2a", "3g2b" and "3g2c" as compatible branch in all content authored
78 by PvAuthor SDK.
79 - Add support for OMX_COLOR_FormatYCbYCr.
80 - Remove unneeded libraries being linked against individual shared libraries.
81 - Exclude empty directories and unncessary build files from OpenCORE.
82 - In OMX base node, turn the InputBufCtrlStruct from a struct into a class
83 - Updates to pvmf_return_codes.pdf, pvplayer_developers_guide.pdf,
84 omx_decoder_test_app_guide.pdf, and omx_encoder_test_app_guide.pdf.
85
86 Bugs Fixed
87 - Repositioning takes a long time for YouTube videos after a few
88 repositions.
89 - Crash in CPVH223Multiplex::Stop().
90 - PlayerEngine cannot finish a playback session after repeated pause
91 and resume near EndOfStream.
92 - Allow file path to be passed to the pvPlayer SDK on Android.
93 - Add a new constructor for the AVCSampleEntry to be used when parsing the 
94 encv atom
95 https://review.source.android.com/9683
96 - MP3 DurationCalcAO logic needs to moved to a place during Prepare and not 
97 Init.
98 - Change PV_GET_ROW definition in M4V decoder. 
99 - Player Engine unit test TC 55 and 56 has memory leaks
100 - Crash in authordriver if InitializeForThread fails.
101 - Crash in playerdriver if InitializeForThread fails.
102 - Potential memory leak in OMX encoder node.
103 - Memory leaks in AAC file parser node & lib
104 - FindFirst returns wrong element type when find a directory in android
105 - Intermittent timeouts on 2way unit tests
106 - Incorrect DeBlocking logic
107 - AVC Clip Specific Issue: (Play till EOS) OR (Reposition to near EOS) The 
108 video gets stuck at near EOS 
109 - iTunes genre is not parsed correctly
110 - Youtube : AV sync is lost after a seek when playing youtube contents
111 - Crash after recording one minute of Video when duration is specified
112 - Tracknumber metadata key string should be consistent through out all nodes
113 - Possible race condition in singleton lock in omx_init 
114 - CPV2WayDatapath::GetPortFormatType() selects least preferred type 
115 - AAC OMX decoder component needs to process whole audio config buffer
116 - Modify MP3Parser to make seek to 0 a special case and do not use XING header
117 for calculating file offset
118 - AAC Decoder should not try decode any AAC+ clip whose final sampling freq 
119 is > 48 KHz. Should default to AAC in these cases.
120 - Update OMX encoder node to calculate the correct output buffer size in case
121 the encoder has multiple roles.
122 - OMX Encoder MPEG4 unit test fix
123 - Setting AMR_NB bitrate to GSM_AMR_4_75 will fail prepare. 
124 - AuthorEngine should return Success incase Stop is called in
125 PVAE_STATE_INITIALIZED state.
126 - OMX M4V encoding drops the first I-frame
127 - VIDEO_INTERLEAVE_BUFFER_SIZE is too short for some buffers when encoding 
128 D1 resolutions 
129 - Occasional audio glitch in MP3 parser during repositioning
130 - OMX tests for AMR give seg fault on android
131 - pvPlayer sends incorrect HTTP Range header
132 http://code.google.com/p/android/issues/detail?id=3031
133 - PDL/PS - Fix the Mp4 Parser node to pass the correct timestamp to PE node 
134 in RequestResumeNotification during Underflow condition 
135 - H.245 TerminalCapabilitySet (TCS) and MasterSlaveDetermination (MSD) 
136 requests must be sent before any other H.245 messages. 
137 - Logic to set iKeepDroppingMsgsUntilMarkerBit to false in AMR RTSP streaming 
138 - 2way tests hanging when run in Android emulator
139 - Sound Recorder: Incorrect Duration of clip sometimes observed when sdcard is
140 full
141 - Memory leak in PV2WayMIO
142 - Playerengine needs to be updated to return success even if there are no keys
143 for GetMetadataValue
144 - Correct the Android RTSP UserAgent string
145 - Author Engine : Don't access the queue element without checking its queue
146 size
147 - If SSRC is not provided in setup response, then pvplayer cleint doesn't send
148 firewall packets to the server
149 - GetMetadataValues returns invalid number of entries
150 - Modify AUT to parse authored files and validate the files as much as possible
151 - Eliminate media layer node in case of RTSP streaming
152 - AAC timestamps provided to OMX component may be wrong
153 - Clean up warnings and some negotiate parameter changes from omx dec & enc
154 test apps
155 - Fix valgrind issue reported with android simulator in omx base node
156 - Add more supported rate control types in pvmp4h263encextension.h
157 - Memory leak in player engine test case 807
158 - Addressed compiler warnings in PVME
159 - nBufferAlignment of OMX_PARAM_PORTDEFINITIONTYPE is initialized to negative
160 value when playing clip on android using qcom decoders
161 - MP3 parser crash
162 - pvplayer_engine_test is detecting 'rtspt_test.sdp' as a url instead a local
163 file
164 - Count of command line arguments being read in PVME Test App is incorrect
165 - Player engine test case 1307 fails when run with a mp4 file containing 3GPP timed text track 
166 - PVMFInfoDataReady event being sent to the engine after the unit test calls
167 stop
168 - PlayerEngine doesn't free reference to PVMFDataSourceNodeRegistryInitInterface
169 - Combine the AMR if statement in pv_omxmastercore.cpp
170 - Player Engine unit test case 154 fails on execution 
171 - Author Engine unit test cases 101-105 fail
172 - Add new return code PVMFErrContentInvalidForProgressivePlayback for a
173 NOT_PROGRESSIVE_STREAMABLE content 
174 - Add USE (AL2, AL3) to 2way test files
175 - H223 2way test not being run 
176 - Avoid calling CCYUV422toYUV420::New() for each thumbnail
177 - Author engine unit test case 101 fails
178 - Ignore encoding flaw, which generates aspec_ratio of value 0 in file
179 codecs_v2\video\m4v_h263\dec\src
180 - Memory leaks in pvmf_mio_fileinput.cpp and performance improvement in mp4
181 composer node
182 - Do not cancel Init() immediately in case of 3gpp streaming 
183 - Transferring MP3 with invalid ID2 tags crashes mediaScanner
184
185
186 ===============================================================================
187 2009-05-17  OpenCORE 2.04
188
189 New Features
190 - Create external download datastream An external download datastream is
191 introduced to allow for an external entity to pass a datastream interface 
192 to the player SDK.  The external entity is responsible for doing the actual 
193 download of the media data.  Full support in Android is not complete until 
194 playerdriver changes and more unit testing is done.
195
196 - Fixed cache option in Oscl_File
197 Adding an option to configure the Oscl file cache to use one or more fixed
198 caches in addition to the movable cache.
199
200 - Modify author engine to contain a notion of "authoring clock"
201 Author engine has the option to pass an "authoring clock" to media input
202 components so that they can use this to sync audio and video timestamps.  
203 Author engine has been modified to own a PVMFMediaClock.  Author engine 
204 provides a pointer to its to data source node (media input node typically) 
205 at the end of author engine Init cycle, using PVMF_AUTHORING_CLOCK_KEY.  
206 No media input component changes were done. All media input components 
207 used in author engine unit test currently operate from a file and have no
208 need for such a clock, but some device media input components can make use 
209 of the clock if needed in the future, since author engine will pass the 
210 clock pointer all the time to data sources.
211
212 - Shoutcast (of MP3) support
213 Shoutcast support of MP3 and internet radio streaming is added.
214
215 - Enable AAC PDL Support 
216 More robust support of PDL of AAC content, including underflow handling.
217
218 - Add support for 3GPP2 speech (EVRC, QCELP etc) in MP4 FF library
219 Support for the 3GPP2 speech codecs is added at the file format library
220 level.  No 3GPP2 speech codecs are added.
221
222 - OpenMAX encoder and decoder unit test suite
223
224 - Use external filehandle in Android
225
226 - Introduce new macro to android makefiles to enable 2way
227
228
229 Improvements
230 - Add support for "all" metadata key in CPM plugins.  This feature provides 
231   a single key to request that all available metadata be returned.
232 - Add support for OMX_ColorFormatCbYCrY 
233 - OMX video dec node now sets the codec parameters (width/height etc.) in the 
234   output port of the omx component.
235 - A loadable module for the OMA1 passthru CPM plugin now exists.  It serves 
236   as an example for creating a loadable CPM plugin.
237 - Compressed testcases have been added in Authior Engine unit tests to 
238   author 3gp file from AVC and M4V and AAC bitstreams
239 - Added checks to verify that the PCM output of the mp3 frame will not exceed
240   the output buffer size, so the mp3 decoder / OMX component is nore robust.
241 - Removed unnecessary "ComponentGetRolesOfComponent" methods from OMX 
242   components.
243 - Restored "/x-pvmf/ff-mux/mp4" MIME Type in Author engine. 
244 - Modified the Initial AVC buffers so that the image that appears initially 
245   is black (not green/pink) if I-frame is missing. 
246 - Fixed the IFrameInterval setting in the OpenMAX video encoder node. 
247 - Added the ability to pass a peer PvmiCapabilityAndConfig interface to 
248   the Media I/O (MIO) components using the Capability Exchange.  The purpose 
249   is to allow the MIO components to set and get parameters (i.e., drive the 
250   process) rather than on relying on the media output node to do it.
251 - Added checks to the OMX components to verify that the buffer size 
252   (in allocate/use buffer) (nAllocLen) is adequate (i.e. >= than nBufferSize)
253 - Updated OMX components so that standard component roles can be queried as 
254   well as set.
255 - AMR-NB common library modified to mark the proper symbol exports and moved
256   some functions to encoder and decoder libraries instead of common. 
257 - Updated h264 decoder to take advantage of the fact that there will be no 
258   in-band SPS/PPS NALs for the mime Video dec node prevents in-band SPS/PPS 
259   for the format PVMF_MIME_H264_VIDEO_MP4
260 - Add macro for enabling build of pv test engine executables in Android 
261 - Remove 12-bit, 24-bit, and 32-bit routines from Android libraries 
262 - Modified OMX timestamps to be in in microseconds rather than milliseconds
263   as specified in the OMX spec 1.1.2.
264 - Improvements and workarounds for non-compliant OMX components
265 - Replace OPEN_FILE_ONCE_PER_TRACK macro with member variable 
266 aOpenFileOncePerTrack in mp4ffparser lib
267 - 2way: send data fragment by fragment from parser side
268 - Added a new function to convert PVMFStatus to human friendly strings
269 - Implement logic to choose correct OMX component when decoding streaming 
270 H264
271 - OMX dec nodes should report error and not even call config parser if 
272 config data is missing (but is required by the format)
273 - Update playerdriver.cpp to send "disable-firewall-packets" KVP key based 
274 on system Android property
275
276
277 Bugs Fixed
278 - Moov atom is not being written into .3gp file if Author driver does not 
279   close file handle.
280 - omx mp4 component in no-marker-bit mode crashes when playing a certain clip
281 - Error handling incase of input other then 8K AMR 
282 - Add PVReleaseInterface method to OMX shared library interfaces 
283   (components + main)
284 - pull sdcard while recording causes media server to crash 
285 - Changes to buffering status notifications while streaming 
286 - OMX nodes should not send repositioning request to OMX component until 
287   config data has been processed by OMX components 
288 - Crash in the author SDK as part of engine Reset 
289 - If SSRC is not provided in setup response, then pvplayer client doesn't 
290   send firewall packets to the server 
291 - PVAuthorEngineNodeUtility::NodeCommandCompleted does not check whether 
292   iCmdQueue is empty 
293 - AMR Local Playback -> FF to EOS when repeat song is on will cause a force 
294   crash 
295 - some source nodes will put same timestamp for DataTS in old stream id 
296   and DiscardTS
297 - Change pv omx encoder node to default iOMXComponentNeedsNALStartCodes to 
298   false and do sanity check
299 - When reconfig happen,SinkNode should send reconfig notification with 
300   FormatSpecificInfo to MIO 
301 - Race condition - If port settings event and node stop command arrive 
302   simultaneously - omx component may fail port flush command 
303 - Mp3FFParserNode: Memory leak in Duration Calculator 
304 - Playback clock starts even before PlayerEngine Start( ) is issued 
305 - Clip plays beyond EOS.  Fixed setting of the actual normal play time (NPT)
306   when repositioning. 
307 - Modified OSCL and player driver handling of external file handles in the 
308   player.
309 - MP3 PS - Repositioning is not working properly 
310 - MP3 Parser needs to validate consecutive mp3 headers before parsing starts
311 - Crash in MIO component due to setPeer(NULL) is not called 
312 - Improvements and robustness in thumbnail generation from normal and 
313   corrupted clips
314 - Improvements in stability of Author Engine Unit tests when using OMX 
315   encoder node
316 - Modify OSCL Mempool to assert when a buffer is deallocated back to 
317   mempool twice in a row 
318 - Fix a possible race condition in omx proxy threads. 
319 - H263 decoder (OMX version) needs to remove the DEFAULT width-height 
320   initialization 
321 - Oscl file cache assert when reading binary file in text mode 
322 - AAC and MP3 decoders have ARMv4 incorrect defines on normalization routines.
323   (see https://review.source.android.com/Gerrit#change,9668)
324 - AMR component roles do not distinguish between AMR_NB and AMR_WB 
325 - OSCL shared library avoid dlopen() leaking in case of failure(dlsym() fails)
326 - Mp3 Clip hangs for some time when repositioned near to the end
327 - PV_atof will return a value that is larger than it should be if the input 
328 string has a CR at the end
329 - Sequence number rollover in RTP info param during prolonged RTSP streaming
330
331 ===============================================================================
332 2009-03-31  OpenCORE 2.03
333
334 Improvements
335 - Enable OpenCORE on master - part 2
336
337
338 ===============================================================================
339 2009-03-10  OpenCORE 2.02
340
341 ********
342    There is minor version number nomenclature change where the 
343    minor version is now two digits.  So the previous releases 
344    in the new nomenclature are 2.00 (2.0) and 2.01 (2.1).  The 
345    new release is 2.02, which is a minor version increment beyond
346    the previous release.
347 ********
348
349 New Features
350 - AMR-WB support added to the OMX encoder node so that it can utilize 
351   an OMX AMR-WB encoder component if it is part of the OMX core. 
352 - Buffer allocator mechanism allowing the Media I/O components to 
353   supply buffers to the OMX decoders.  This method is especially useful
354   as an alternative way to allocate video buffers.  Details can be 
355   found in the new document "Guide to Supplying Decoder Buffers from 
356   the MIO Component" in the file mio_decoder_buffer_allocation_guide.pdf
357   in the top-level doc directory.
358
359 Improvements
360 - Resolution of Valgrind and static analysis warnings in player and author
361 - Improvements in support for .mov files in MP4 FF Parser(relaxed some checks).
362 - Modified OMX encoder node to allow setting the AMR bitrate 
363   based on an extension interface value.
364 - Fix inconsistencies in OSCL find method related to inclusion of the 
365   directory name with the filename.
366 - Improvement in PVMFInfoErrorHandlingComplete in the player datapath
367 - Refactor of the Protocol Engine node to support a plugin architecture.  
368   This improves extensibility of the module for new features in the future.
369 - Introduce QueryInterfaceSync in PVMFNodeInterface and "all" metadata key
370 - AMR NB and WB have conflicting meaning for frame_type and mode elements
371 - Change the default settings related to caching for Oscl_File when 
372   using PVFile within the fileformat parsers.
373 - Replace test.mp4 with interop clip
374 - Update of tests for support for progressive download of AMR
375 - OMX Khronos header files (Omx_Core.h, Omx_Component.h) capitalization 
376   changed to match that from the Khronos (previously they were all lowercase).
377
378
379 Bugs Fixed
380 - Memory leak when running GCF TC212 (2way-related)
381 - MediaClockConverter divided by zero caused by timescale 0
382 - MP4 composer node destructor memory corruption fixed.
383 - Fix for intermittent crash in player engine TC 105
384 - OMX dec node did not reset all the internal state during 
385   Reset processing.  
386
387
388 ===============================================================================
389 2009-02-26  OpenCORE 2.1 (2.01)
390
391 New Features
392 * OpenMAX Codec-related:
393   - Introduced the OMXConfigParser API to help in determining
394     which OpenMAX components can support the input bitstream.
395     It is used to narrow the list of candidate OpenMAX components
396     to be used for playback.  See the OpenMAX Core Integration Guide
397     document in the doc directory for more information.
398   - Added OMX AAC encoder support in the OMX encoder.
399   - Modified to use separate component roles for AMR-NB and AMR-WB as
400     described in the OpenMAX IL spec version 1.1.2.
401   - Added support for a new buffer format for H.264/AVC decode and
402     encode to allow passing multiple NALs in a single buffer.  
403     The format uses OMX_OTHER_EXTRADATA structure defined in 
404     section 4.2.33 of the OpenMAX IL spec version 1.1.2 to pass 
405     NAL lengths.  See the OpenMAX Core Integration Guide document 
406     in the doc directory for more information.
407 * Author-related:
408   - Added support for authoring files with AAC audio.
409   - Added support for authoring AMR-WB audio to MP4/3GP files and
410     IETF storage format.
411   - Added support for writing to an open file descriptor as an option
412     instead of simply providing a filename.  The file descriptor
413     option is useful for cases where another process needs to open 
414     the file because of permissions.
415 * Added large file support in OSCL (i.e., 64-bit file size/offset
416     support) to handle files greater than 2 GiB on filesystems that 
417   support it.
418 * Added rotation support in the 32-bit color-conversion class.
419
420 Improvements
421 * Removed dynamically loaded modules from the prelink map to avoid
422   clutter and to make both the prelink map and loadable modules 
423   easier to manage.  There may be an issue if a single instance of 
424   a process tries to load libraries not in the prelink map more than 
425   256 times
426   (See http://code.google.com/p/android/issues/detail?id=2042).
427 * Update to the MP3 Decoder to fix security issue (oCERT_2009-002,
428   CVE-2009-0475)
429 * Renamed the OSCL config directory linux_nj to android to match the
430   platform name.  Replaced all references of nj with android in the 
431   codebase.
432 * General security improvements found from static analysis in the
433   following areas:
434   - Buffer and type overruns and underruns
435   - Null pointer references
436 * Refactored the jitter buffer node into a more modular architecture
437   for better support of different streaming use-cases and protocols.
438 * Fixed an issue in the MP3 decoder when decoding for very of long
439   durations (over 2 GiB of data).
440 * General improvements found during 3GPP packet-switched streaming
441   interoperability testing.
442 * General improvements and resolution of issues found from module
443   level and engine (player, author, 2-way) level unit testing.
444
445 New APIs / Behaviors
446 * Added support in the player engine to cancel a single pending
447   command using the CancelCommand API.  See the player engine API 
448   document for details.
449 * Renumbered the author test cases to avoid issues with
450   preprocessor conditionals changing the test numbers based on 
451   settings.  Now the test numbers shouldn't change.
452 * In the case of 3rd party OMX components that support multiple roles,
453   returns an error if the component cannot set the role parameter
454 * OMX components need to explicitly set nPortIndex parameter for
455   all appropriate parameters
456 * Added fix for buffering percentage notification in streaming
457   scenario (see https://review.source.android.com/Gerrit#change,8699)
458 * Updated omx shared library build configuration to separate component
459   registration from component build
460 * Added methods in baselibs to serialize and deserialize the UTF-16,
461   UTF-16LE, UTF-16BE strings
462 * Removed the iUseCPMPluginRegistry flag from the source data that was
463   previously used to enable the content policy manager.  
464   Since the CPM pluginsare dynamically loaded, the flag is not 
465   needed and was removed.  See the playerdriver.cpp for details
466   of the change. 
467
468 ===============================================================================
469 2009-01-26  OpenCORE 2.0 (2.00)
470
471 New Features
472 - Consolidation of the clock logic into a common clock object
473   (PVMFMediaClock).  More details will be provided in a 
474   Tech note at a later time.
475 - Refactor MP4 Composer library
476 - omx component refactoring (Introducing base omx component class)
477 - OMX Encoder Support
478 - Check URIs for illegal characters and run escaping algorithm if any
479   are found.
480 - Support for 3GPP AssetInfo Metadata in Author SDK
481 - MP3 Dynamic TOC Construction
482 - Modify MPEG4/H.263 node/library to support arbitrary Decoder
483   Configuration Information (DCI)
484 - backward playback support for MP4
485 - Refactoring Colorconversion from mpeg4 encoder and adding support
486   for YUV420SemiPlanar
487 - Refactor streaming manager node into feature specifc plugins
488 - Thread Safe Player Engine APIs and Thread Safe queue
489 - Adding capability to turn off AC prediction and change
490   IntraDCVlcThreshold for MPEG4 encoder library
491 - Dynamically populate recognizer registry
492 - add 2way support for OpenCORE
493 - Combine OMX audio dec node and Video Dec node
494 - OMX MasterCore
495 - Apply new RGB to YUV color conversion libraries to OMX encoder
496   components
497 - Use loadable modules in CPM
498 - Adding support for YUV420Semiplanar to avc encoder, m4v encoder and
499   author
500 - introduce dynamic loading of individual omx components
501
502 Improvements
503 - Removal of all compiler warnings reported by Android compiler
504   Exception: unit test app code
505 - Module-level unit test fixes
506 - Various Valgrind errors and fixes
507 - Various Codesonar warnings and fixes
508 - various security audit and fixes
509 - various memory leak fixes
510 - various crash, hang fixes for specific test content or test cases
511 - Re-work Oscl Scheduler semaphore & lock
512 - Author Engine Error Handling Robustness
513 - Player Engine Error Handling Robustness
514 - Add capability of assembling partial frames and inserting NAL start
515   codes to OMX node
516 - The media I/O component configuration process needs to be improved.
517 - Fundamental change in behavior of repositioning during 3GPP
518   streaming
519 - Improvements to the PV FrameMetadataUtility [FMU]
520 - mp3 parser - duration calculation by walking file in background
521 - IOT merges from 2-way team
522 - Longevity issues with live streaming
523 - Local Playback MP3 file does not display attached art work
524 - Issues with Oscl Leave, Panic, and Assert
525 - Modify allocators to not leave in case of an alloc failure, but
526   instead have them return OsclErrNoMemory
527 - Conversion of strcmp and strstr usage to strncmp for non null
528   terminated Strings
529 - Change Oscl memory auditing from TLS-based to Singleton-based
530 - Buffer status report in a periodical manner to improve the app
531   awareness about how engine is running in low bandwidth for PDL/PS
532 - AVC Encoder Improved Rate Control
533 - State Transition: Remove implicit ThreadLogoff() from Nodes
534 - Include aac recognizer for Android
535 - Audit MP4 parser against new iTunes spec
536 - Replace PVMFSMSharedBufferAllocWithReSize allocator with
537   OsclMemPoolResizableAllocator
538 - Player Engine registry re-work
539
540 New KVPs / APIs / API behaviors
541 - Change Download Manager Stop Command to Stop Download
542 - Add a KVP to configure jitter buffer inactivity run time from the
543   app
544 - OSCL Critical Error Handling
545 - Adding kvp in SM node to set rtsp_timeout timer in rtsp engine node
546 - Get rid of "getTrackOTIType" API in parser lib and switch mp4 parser
547   node to use "getTrackMIMEType".
548 - Adding capability to turn off AC prediction and change
549   IntraDCVlcThreshold for MPEG4 encoder library
550 - Deprecate PVMFCPMPluginLocalSyncAccessInterface
551 - Introduce new API in Engine to Release MetaData Values
552 - Use of PVMF format types in player registries
553 - Introduce new kvp key to set jitter buffer size
554 - Add a new meta data key to Mp3ParserNode to support channel mode
555   retrieval
556 - Support for taking in video bitrate and other params from a config
557   file, for uncompressed AVI test cases.
558 - Deprecate TLS-based memory audit
559 - Use KVP "nodedataqueuing_timeout" instead of compile time tuneable
560   "SYNC_POINT_DIFF_THRESHOLD"
561 - Please apply "mode=" for "x-pvmf/net/user-agent;valtype=char*" key.
562 - Change libpv*.so to libopencore_*.so
563 - Singleton and lock/unlock mechanism needed for OMX master core
564   globals
565 - In case of 3rd party OMX components that support multiple roles -
566   input dec format and output enc format needs to be specified
567 - OMX Core plugin code (for 3rd party omx cores integration)
568
569 Known Issues
570 - Had to temporarily remove the doc directory because of conflicts
571   with Gerrit and PDF files. These will be uploaded again now that
572   Gerrit is updated.
573 - Additional documentation will be released as soon as possible.
574 - The OpenMAX encoder node is configuring the OpenMAX component with
575   the wrong format for AMR. It is using
576   OMX_AUDIO_AMRFrameFormatRTPPayload when it should be
577   OMX_AUDIO_AMRFrameFormatFSF.
578 - The OpenMAX encoder node is not handling Reset correctly in all
579   cases. 
580