Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for avc3 boxes in fragmented mp4 streams. #1

Closed
ojw28 opened this issue Jun 23, 2014 · 1 comment
Closed

Add support for avc3 boxes in fragmented mp4 streams. #1

ojw28 opened this issue Jun 23, 2014 · 1 comment
Assignees

Comments

@ojw28
Copy link
Contributor

ojw28 commented Jun 23, 2014

No description provided.

@ojw28 ojw28 self-assigned this Jun 23, 2014
@ojw28
Copy link
Contributor Author

ojw28 commented Jul 7, 2014

Fixed in dev. 43b7efa

@ojw28 ojw28 closed this as completed Jul 7, 2014
bhnath referenced this issue in bhnath/ExoPlayer Sep 9, 2014
ojw28 added a commit that referenced this issue Oct 9, 2014
Propagate elapsedRealtimeUs to the video renderer. This allows
the renderer to calculate and adjust for the elapsed time since
the start of the current rendering loop. Typically this is <2ms,
but there situations where it can go higher (normally when the
video renderer ends up processing more than 1 output buffer in
a single loop).

Also made variable naming more consistent throughout the package.
ojw28 added a commit that referenced this issue Feb 13, 2015
This is the start of a sequence of changes to fix the ref'd
github issue. Currently TsExtractor involves multiple memory
copy steps:

DataSource->Ts_BitArray->Pes_BitArray->Sample->SampleHolder

This is inefficient, but more importantly, the copy into
Sample is problematic, because Samples are of dynamically
varying size. The way we end up expanding Sample objects to
be large enough to hold the data being written means that we
end up gradually expanding all Sample objects in the pool
(which wastes memory), and that we generate a lot of GC churn,
particularly when switching to a higher quality which can
trigger all Sample objects to expand.

The fix will be to reduce the copy steps to:

DataSource->TsPacket->SampleHolder

We will track Pes and Sample data with lists of pointers into
TsPackets, rather than actually copying the data. We will
recycle these pointers.

The following steps are approximately how the refactor will
progress:

1. Start reducing use of BitArray. It's going to be way too
complicated to track bit-granularity offsets into multiple packets,
and allow reading across packet boundaries. In practice reads
from Ts packets are all byte aligned except for small sections,
so we'll move over to using ParsableByteArray instead, so we
only need to track byte offsets.

2. Move TsExtractor to use ParsableByteArray except for small
sections where we really need bit-granularity offsets.

3. Do the actual optimization.

Issue: #278
ojw28 added a commit that referenced this issue Oct 1, 2015
ojw28 pushed a commit that referenced this issue Apr 6, 2016
ojw28 pushed a commit that referenced this issue Jun 15, 2016
In CSS, ids are references using #. The absence of # references elements.

NOTE: If the id of a cue was "1", we support its reference with ::cue(#1).
In CSS, however, this is not valid, and the number should be escaped with
\3 as in ::cue(\31). We still do not use number escaping (and I doubt
whether we should at some point).
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=119634708
ojw28 pushed a commit that referenced this issue Jun 15, 2016
This is in preparation for changing the TrackStream while keeping the renderer
enabled, to give seamless transitions for playlists.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=123394733
raajbcove referenced this issue in brightcove/ExoPlayer Jul 26, 2016
raajbcove referenced this issue in brightcove/ExoPlayer Jul 26, 2016
raajbcove referenced this issue in brightcove/ExoPlayer Jul 26, 2016
Modified updateDurationUs() to also filter out TrackRenderers with a
@google google locked and limited conversation to collaborators Jun 21, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant