Purposes of this refactoring: 1. Add functionality for reading a specified frame. 2. Change resolution and frame rate on per-frame basis. Both features are needed for https://webrtc-review.googlesource.com/c/src/+/283525 Bug: b/261160916 Change-Id: I6d60e62dbc3913c43b5c1b491690f5cb4a8632dd Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/285483 Reviewed-by: Erik Språng <sprang@webrtc.org> Commit-Queue: Sergey Silkin <ssilkin@webrtc.org> Cr-Commit-Position: refs/heads/main@{#38829}