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

TSExtractor.readOnePacket(): bad sync byte -- should report error state #6

Open
fougere-mike opened this issue Aug 20, 2014 · 0 comments

Comments

@fougere-mike
Copy link

This issue has only been seen once, so I believe it may have been a networking hiccup. However, this did not propagate through any on*Error() methods -- it simply left my player stalled in the buffering state.

Low level errors which cause player stalling should be reported through appropriate listeners.

08-20 15:55:13.920: D/HLSSampleSource(2974): opening http://192.168.1.140:80/stream/segw.ts?AYvvv7IZ0g6e9nuJkRw5PQ
08-20 15:55:14.110: E/HLSSampleSource(2974): extractor read error
08-20 15:55:14.110: W/System.err(2974): com.google.android.exoplayer.ParserException: bad sync byte: 0
08-20 15:55:14.110: W/System.err(2974):     at com.google.android.exoplayer.parser.ts.TSExtractor.readOnePacket(TSExtractor.java:357)
08-20 15:55:14.110: W/System.err(2974):     at com.google.android.exoplayer.parser.ts.TSExtractor.read(TSExtractor.java:397)
08-20 15:55:14.110: W/System.err(2974):     at com.google.android.exoplayer.hls.HLSSampleSource$ChunkTask.doInBackground(HLSSampleSource.java:596)
08-20 15:55:14.110: W/System.err(2974):     at com.google.android.exoplayer.hls.HLSSampleSource$ChunkTask.doInBackground(HLSSampleSource.java:1)
08-20 15:55:14.110: W/System.err(2974):     at android.os.AsyncTask$2.call(AsyncTask.java:288)
08-20 15:55:14.110: W/System.err(2974):     at java.util.concurrent.FutureTask.run(FutureTask.java:237)
08-20 15:55:14.110: W/System.err(2974):     at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
08-20 15:55:14.110: W/System.err(2974):     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
08-20 15:55:14.110: W/System.err(2974):     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
08-20 15:55:14.110: W/System.err(2974):     at java.lang.Thread.run(Thread.java:811)
martinbonnin pushed a commit that referenced this issue Dec 7, 2016
This is a mechanical change. The two new SampleSource classes
are forked from MultiSampleSource, with the logic that previously
was in the demo app's SourceBuilder methods copied into the
corresponding constructors. Subsequent steps will:

1. Pull the initial manifest processing from DashChunkSource and
SmoothStreamingChunkSource into the new SampleSource classes.
2. Remove the construction of ChunkSampleSource instances from
the constructors, instead instantiating children only as needed
when tracks are enabled.
3. Simplify ChunkSampleSource down into a ChunkTrackStream object.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=121001021
martinbonnin pushed a commit that referenced this issue Dec 7, 2016
This change pulls manifest refresh responsibility up to the
top level Dash/SS SampleSource implementations. In following
steps more of the manifest processing logic will be pulled
up (e.g. extracting track groups from the initial manifest),
which will allow ChunkSampleSource/ChunkSource instances to
be further simplified and created on demand.

I've avoided moving/renaming anything for now, so as to keep
it fairly easy to review.

Note that this change does the TODO related to releasing the
manifest fetchers.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=121001139
martinbonnin pushed a commit that referenced this issue Dec 7, 2016
Parse the duration of the media directly from the manifest
in the DASH/SS SampleSource implementations.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=121001296
martinbonnin pushed a commit that referenced this issue Dec 7, 2016
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=121001478
martinbonnin pushed a commit that referenced this issue Dec 7, 2016
Dash/SS SampleSources now instantiate ChunkSource and
ChunkSampleSource (renamed to ChunkTrackStream) instances
on demand as tracks are enabled. The TrackGroups exposed
by the DASH/SS SampleSources are now constructed at the
top level.

Note that this change resolves the TODOs at the top of the
ChunkSource classes, allowing multiple adaptation sets of
the same type.

Next steps will include:

- Bring back UTC timing element support for DASH, which
  will be an extra request during preparation in  the DASH
  SampleSource.
- Simplification of manifest fetching to use a Loader directly
  in the two top level SampleSource classes. ManifestFetcher
  should eventually go away once HLS no longer needs it.
- Eventually, some consolidation between DASH/SS. There's a
  lot of common code there now.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=121001777
martinbonnin pushed a commit that referenced this issue Dec 7, 2016
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=121002218
martinbonnin pushed a commit that referenced this issue Dec 7, 2016
Mechanical step to create a new HlsSource in the library.
Note that naming is now confusing. This will be fixed in
the next CL, when:

HlsSource -> HlsSampleSource
HlsSampleSource+HlsOutput -> HlsOutput
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=122054800
martinbonnin pushed a commit that referenced this issue Dec 7, 2016
1. Merge HlsOutput and HlsSampleSource -> HlsTrackStreamWrapper.
2. Rename HlsSource -> HlsSampleSource2. This will be renamed to
   HlsSampleSource in a subsequent CL.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=122415970
martinbonnin pushed a commit that referenced this issue Dec 7, 2016
Rename HlsSampleSource2 -> HlsSampleSource.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=122418334
martinbonnin pushed a commit that referenced this issue Dec 7, 2016
- Pull loading of the initial manifest up to HlsSampleSource.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=123305312
martinbonnin pushed a commit that referenced this issue Dec 7, 2016
Pull more logic up to HlsSampleSource. Somewhat regretfully,
this also backs out the optimization work done toward the
ref'd issue. I think that's one for another time perhaps...

Issue: google#551
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=123417413
martinbonnin pushed a commit that referenced this issue Dec 7, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant