dashplayer: resync and squash commits from CAF

Subject: dashplayer: Add new player for supporting DASH

Change-Id: I23386f49298323cbf0aecddb7fee2016a2ec16f3

Subject: dashplayer: add text track support

Change-Id: If4612dfca426efbbd9fb1b8afecbc077c3aed753

Subject: dashplayer: Memoryleak fix and fps calculation during buffering

1. mTrackName was allocated with a new call but was never
   deleted, due to which there is a memory leak.
2. Skip fps stats for accumulated frames after buffering as the
   buffering duration reduces the fps value.

Change-Id: I26a67e8cc213294ea2fcc0c46a4d3c20ebe06419

Subject: DashPlayer: Following fixes are added in DashPlayer

 - Notify MEDIA_PREPARED after media duration is notified.
 - Not to notify Playback complete if Media Error is notified

Change-Id: I94521f2ae4351fb3b89b021fc983d1d759f96986

Subject: dashplayer: Replace ACodec with DashCodec

- Enable smooth streaming.
- Notify flush completed for all states except executing.
  This prevents crash on seek, when seekbar is dragged.

Change-Id: I9cd15194002c93ce1a411aa4abbded9d13be5701

Subject: dashplayer: Fix to avoid crash during back to back playback

stop call on source added to avoid crash during back to
back playback

Change-Id: I5bcbac2ba1c131c4d0e322ecd876a1d1021cba9f
CRs-Fixed: 450679

Subject: DashPlayer:call unregisterHandler in DashPlayer, avoid memory leak

AHandler objects in mediaplayer registred with ALooper
but did not call unregister at shutdown.

Change-Id: If9140d30ace0423c8181a1a64707ddcdc448d525
CRs-Fixed: 461906

Subject: dashplayer: Fix seek bar jump during seek

Fix to update current position with seek time.

Change-Id: I3febf7a46f2c0a85fbbc36ec0898adc58ec2e2a9

Subject: media: Disable DashPlayer and libcdconverter for JB_MR2 bringup

Change-Id: I96fdd59df28a874064a11adfa7cc314d9848bd48

Subject: dashplayer: Adjust buffer count for native window

When allocating buffers from native window, adjust the
buffer count based on the minimum undequed buffer count,
and allocate an extra buffer for smooth streaming.

Change-Id: I72ad33872b68bb0bfe41fcb565d61b429f76b892

Subject: DashPlayer: enable secure output buffers for drm use cases

 - sets GRALLOC_USAGE_PROTECTED for output buffers if
   content is DRM

Change-Id: Ib1bdab9e88dbac41aa336c906bbba897699a9402

Subject: DashPlayer: make jb_mr2 compatible .

 - ISurfaceTexture is called IGraphicBufferProducer in jb_mr2
 - SurfaceTextureClient is called Surface in jb_mr2

Change-Id: I790f49dd0cd2a155918155a6bae3badb5e412976

Subject: DashCodec: Changes to bringup DASH on MR2

*Disable AMR_WB audio support.
*Remove OMX_QCOM_COLOR_FormatYUV420PackedSemiPlanar32m from supported
 output color format

Change-Id: I4e675199a7e012d81f71dc027baa722b5eaa5281

Subject: DashPlayer: Remove mSource null check in source notify

Remove mSource null check in source notify

Change-Id: I5f35f90246f73f421962e4510011698366c07823
CRs-Fixed: 515690

Subject: DashPlayer: Don't queue EOS in flushing state on error from codec

Don't queue EOS to renderer in flushing/flushed state on error from
codec

Change-Id: I3b359c2f6700d9eed5b99515d652f86557c55a9f
CRs-Fixed: 515232

Subject: dashplayer: fix wrongly identifying a Dash URL

- do not identify URL as Dash if URL has random "mpd" string

Change-Id: I40fefa311bca99e19c4f1e4cee3bd09bd21e4908

Subject: dashplayer: Fix green frame issue on session timeout

* Avoid rendering video buffer which signals EOS as it does
  not contain valid video data.

CRs-Fixed: 476333

Change-Id: I10e3a0cb1e2dc9e1574d5e2b05f6339e868ac6fe

Subject: DashCodec: keep cache of formats to support b2b format change

     - when format change takes place too fast, it will pick up wrong
       format.
     - keep a cache of formats and only issue one sendFormatChange per
       crop change.
     - clear format cache when flushing

Change-Id: Ib45f3c5ac7764b4dd1edc4ac6c6f11390c33c151
CRs-Fixed: 475092

Subject: Fix for the flicker while changing the resolution in DashPlayer

- Just notify the message of MEDIA_SET_VIDEO_SIZE to JAVA Layer,
  while beginning to play the streaming.
- After the streaming begin to play, don't notify this message,
  while changing the resolution or seek operation finished.
- If we don't set video size,
  windowsmanager will adapt the dimension of the clip by itself.

Change-Id: I6a79d13159cd9bf33e0f483c7e1b71690f071011

CRs-fixed: 451993

Subject: DashPlayer: Notify position for video EOS buffer immediately

Notify current rendering position for video EOS buffer immediately,
without waiting for 100ms between subsequent updates.

CRs-Fixed: 489546
Change-Id: I9a8f346a68ff5c333d96e5ae24980e0ed1b27903

Subject: DashPlayer: Add support for dumpsys in DashPlayer

Added functionality in DashPlayer to dump playback statistics to file.

Change-Id: I0f95684f10db376731f622f06d17cc262480ecd3

Subject: DashPlayer: Notify seek position to dash source

Notify seek position to dash source to make sure that
if text samples arrive before audio/video, the time
out for sending text samples is not wrongly calculated.

CRs-Fixed: 492376

Change-Id: I952e474d92936532956c1d456b6ad1d554402405

Subject: DashPlayer: Don't queue EOS in flushing state

Don't queue EOS to renderer in flushing state.

Change-Id: I04925c3b99c1b43281eb8c43be5943194a3bd48b

Subject: dashplayer:  Fix for Progress bar moving back in seek.

Fix for progress bar moving back in seek by calling
kWhatposition from renderer using new seektime

Change-Id: I30ce962cca58cdce5bd56e9f4ed6963ebd80de7a

Subject: dashplayer: Delete memory allocated for cached crops and formats

Delete dynamically allocated memory allocated for cached crops
and formats.

Change-Id: Ib0d66f723bf9a66d308b8c786ef8de1efc1627a0

Subject: dashplayer: Remove cached formats from the proper location

1. Removed cached format/crop from the 0th position.
2. Clear cached formats in destructor.

Change-Id: Idd9c767bf9f660fe8ceae7f99b3ac51861b2a932

Subject: camera bringup changes hardware-qcom-media

Change-Id: I4b81d2150e5bbd97d09c91f3cf89a8c6169b6058

Subject: media: compilation fix for updated sdk version

compilation fix for updated sdk version

Change-Id: Ib83de1d7ce4c8dae012ae0d0f22d7edccc8cc552

Subject: Dashplayer: enable adaptive playback based on codec format key

Added support for prepareForAdaptivePlayback() call in
configureCodec, if max-width and max-height keys are specified
in the format.  It is OK for this call to fail, if component
does not implement adaptive playback.

Change-Id: I403e70559cd54489d35a94b467192701f163d568

Subject: dashplayer: Add support for invoke

Add support for  invoke() in dashplayer and QCMediaPlayer

Change-Id: I58ac0da2a9cd067d2ef92084b9c4c503786edb2c

Subject: dashplayer: Handle error for text track

Handle UNKNOWN_ERROR for text track

Change-Id: Ifeb827b4b7f0fb796593789b0b51be333292c66f

Subject: dashplayer: Send buffering start event conditionally

Send buffering start event to application only if
video decoder is instantiated.

Change-Id: I99465b45b2f68efbd40eada3d03a235bb6694223

Subject: Remove AOSP reference to utils.mk

Remove function calls from AOSP code to utils.mk
& replace them with actual definition.

Change-Id: I5f9bee27521c39caab17b473059729800e55314e
CRs-fixed: 566287

Subject: dashplayer: Reject https dash urls

Reject https dash urls

Change-Id: Ib26edfdcd693fe7567b89adf488a48f349ca7bfe

Subject: DashPlayer: Fix in DashCodec for Adapative Streaming

Fix in DashCodec for Adaptive Streaming

Change-Id: Ie1e30627c8095a7210ad4e16c96f5f79abff22c6
CRs-fixed: 596767

Subject: dashplayer: Handle Eos Error Propagation in Renderer

Handle usecase where first frame after audio decoder
creation is EOS frame.

Change-Id: I9bcbfd3930eb3961ce5b5bfa36d692812aa92e9f
CRs-Fixed: 625722

Subject: dashplayer: Return DashCodec FillBuffers properly on Error

- reply and return buffers to DashCodec
 if FeedMoreTSData reports error
   CRs-Fixed: 628092

Change-Id: I178f78b0863106ab1662e8adee8f29741f7ed65b

Subject: Disable DashPlayer compilation.

Change-Id: I6e1220bf8ea864fa5d3838ba91bc980bc45d5022

Subject: DashPlayer: Enable/fix for compilation for dashplayer

Enable/fix compilation for dashplayer

Change-Id: I1e863dcf2893eb64139e41376684c19f202354e1

Subject: dashplayer: DashCodec to derive from CodecBase .

DashCodec derives from abstract struct CodecBase.
This is comply with the new framework change
where CodecBase is abstract interface from which
ACodec, DashCodec derive and implement

Change-Id: I2ffc7f980765504882c00579c81793d10ae0f6af

Subject: dashplayer: Enable Compilation

Enable DashPlayer compilation

Change-Id: I3bbb99b3495b670a3599e7719bc678012a664603

Change-Id: I16447f62c4fbd7af18ca466e52dee93eaa359fa4