Wireshark mailing list archives
RTP player - a suggestion
From: Erik de Jong <erikdejong () gmail com>
Date: Fri, 24 Mar 2017 19:39:40 +0100
Hello all, After looking at bugs 13511, 13512 and others it looks like a partial rewrite might be the way to go. Current situation: - Each RTP track added gets rendered to a pcm buffer for playback. - Each RTP track gets drawn on the graph. - When playing each track reports the played progress which draws the vertical line on the graph. - Starting the player means it'll start from the beginning of all tracks. - There is no way to pause/resume playback. - There is no way to seek. - Selecting a graph causes playback to slow down (bug). - Selecting tracks doesn't mean playback will start at the earliest time in one of the selected tracks. My proposal: Add 'mixer' layer which will provide the following features to improve usability: - Keep track of selected tracks and then starting to play start at the track that's earliest in time. * e.g. 2 tracks, 1 starts at 0:00 and 2 at 0:30. Selecting only 2 will start playback at 0:30 * If no tracks are selected play all tracks available as is current behaviour. - Keep track of playback time and render this to the graph, this prevents each audio track playing trying to reposition the horizontal line - Because of the 'centralized' timekeeping above, seeking as well as pause/resume is much easier. Also a feature like selecting part of the time line and playing only that could be a possible feature. - Read chunks of the selected tracks and mix them together before playing them, presumably reading chucks will improve performance compared to reading individual samples. I'm also guessing using just one audio output gives better performance with lots of parallel streams. The job of RtpAudioStream is then just rendering and playback is separated into the mixer. - Because the mixer manages all tracks it might be relatively easy to add video playback in future as well... - Let RtpAudioStream render into different formats (at least pcm and au) and let the mixer mix this into a final stream so it can be reused for saving the audio in the RTP stream analysis dialog as well to remove duplicate functionality. When the mixer layer is in place it's also feasible to have more than 2 streams rendered together as could easily be the case when there are transferred calls. This would need to be added the RTP stream analysis dialog as we'd have to aid the user to get all sections of the conversion together in the player. I look forward to hearing your comments on this before I'll start implementation! Regards, Erik
___________________________________________________________________________ Sent via: Wireshark-dev mailing list <wireshark-dev () wireshark org> Archives: https://www.wireshark.org/lists/wireshark-dev Unsubscribe: https://www.wireshark.org/mailman/options/wireshark-dev mailto:wireshark-dev-request () wireshark org?subject=unsubscribe
Current thread:
- RTP player - a suggestion Erik de Jong (Mar 24)
- Re: RTP player - a suggestion T B (Mar 25)
- Re: RTP player - a suggestion Jirka Novak (Mar 26)
- Re: RTP player - a suggestion Anders Broman (Mar 27)
- Re: RTP player - a suggestion Peter Budny (Mar 27)
- Re: RTP player - a suggestion Anders Broman (Mar 27)
- Re: RTP player - a suggestion Erik de Jong (Mar 27)
- Re: RTP player - a suggestion Jirka Novak (Mar 27)
- Re: RTP player - a suggestion Alexis La Goutte (Mar 28)
- Re: RTP player - a suggestion Anders Broman (Mar 27)
- Re: RTP player - a suggestion Jirka Novak (Mar 27)