ekumenlabs / AndroidStreamingClient

Library that receives UDP packets wrapped into RTP and coded in H264, decodes the corresponding frames and plays the resulting stream in an Android SurfaceView
Apache License 2.0
129 stars 45 forks source link

Jitter avoidance moving knowledge from extractor #23

Closed ashyonline closed 9 years ago

ashyonline commented 9 years ago

This approach needs to be tested with the drone, a bad quality network and the S4 as publisher before merging

ashyonline commented 9 years ago

@adamantivm @tulku

This final implementation seems to be working pretty fine. We found the main problem is in the Publisher, not in the Player (using this last player).

TODO: clean up!

Summary: Now, media extractor shouldn't implement dataPacketReceived, the variable upstream in RtpMediaBufferWithJitterAvoidance should be an RtpMediaExtractor object (not a RtpSessionDataListener).

In order to do this, tons of codes need to be changes and it seems to be pretty error prone. As we discover the main problem we have right now is the Publisher, we should focus on working on that and optimize it for the devices we are using (publisher running in S4 freezes a loooot!) and I will clean up the Player as soon as posible (probably tomorrow, don't freak out).

ashyonline commented 9 years ago

@tulku @adamantivm @FlyingPumba I'd merge it. Tests are useless right now, but I need to fill the data of packets used in the tests so they are sent by our new buffer :)

FlyingPumba commented 9 years ago

Looking good, although I don't understand it 100%. Merging :rocket: