Commit 3ba95153 authored by Jose Lopes's avatar Jose Lopes Committed by Commit Bot

media: Migrate RegisterPmtCb to repeating callback.

This is a repeating callback because it's called from a for loop:
* https://cs.chromium.org/chromium/src/media/formats/mp2t/ts_section_pat.cc?rcl=12cb56005b4e382d8ba25cec382deb04bc024369&l=105

This is part of the base::Callback migration.

Context: https://cs.chromium.org/chromium/src/docs/callback.md?rcl=9fcc3764aea8f97e9f6de4a9ee61d554e67edcda&l=40

Bug: 1007806
Change-Id: I3fd346d4f02ea0281a9eb716090ff76cdf6d5a73
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2080359
Commit-Queue: Jose Lopes <jabolopes@google.com>
Reviewed-by: default avatarAlbert J. Wong <ajwong@chromium.org>
Reviewed-by: default avatarXiaohan Wang <xhwang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#747167}
parent 53b3f054
......@@ -321,10 +321,11 @@ bool Mp2tStreamParser::Parse(const uint8_t* buf, int size) {
if (it == pids_.end() &&
ts_packet->pid() == TsSection::kPidPat) {
// Create the PAT state here if needed.
std::unique_ptr<TsSection> pat_section_parser(new TsSectionPat(
base::Bind(&Mp2tStreamParser::RegisterPmt, base::Unretained(this))));
std::unique_ptr<PidState> pat_pid_state(new PidState(
ts_packet->pid(), PidState::kPidPat, std::move(pat_section_parser)));
auto pat_section_parser =
std::make_unique<TsSectionPat>(base::BindRepeating(
&Mp2tStreamParser::RegisterPmt, base::Unretained(this)));
auto pat_pid_state = std::make_unique<PidState>(
ts_packet->pid(), PidState::kPidPat, std::move(pat_section_parser));
pat_pid_state->Enable();
it = pids_
.insert(
......
......@@ -13,10 +13,8 @@
namespace media {
namespace mp2t {
TsSectionPat::TsSectionPat(const RegisterPmtCb& register_pmt_cb)
: register_pmt_cb_(register_pmt_cb),
version_number_(-1) {
}
TsSectionPat::TsSectionPat(RegisterPmtCb register_pmt_cb)
: register_pmt_cb_(std::move(register_pmt_cb)), version_number_(-1) {}
TsSectionPat::~TsSectionPat() {
}
......@@ -119,4 +117,3 @@ void TsSectionPat::ResetPsiSection() {
} // namespace mp2t
} // namespace media
......@@ -16,9 +16,9 @@ namespace mp2t {
class TsSectionPat : public TsSectionPsi {
public:
// RegisterPmtCb::Run(int program_number, int pmt_pid);
typedef base::Callback<void(int, int)> RegisterPmtCb;
using RegisterPmtCb = base::RepeatingCallback<void(int, int)>;
explicit TsSectionPat(const RegisterPmtCb& register_pmt_cb);
explicit TsSectionPat(RegisterPmtCb register_pmt_cb);
~TsSectionPat() override;
// TsSectionPsi implementation.
......@@ -26,7 +26,7 @@ class TsSectionPat : public TsSectionPsi {
void ResetPsiSection() override;
private:
RegisterPmtCb register_pmt_cb_;
const RegisterPmtCb register_pmt_cb_;
// Parameters from the PAT.
int version_number_;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment