Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b5331f71 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Fix tuner example crash."

parents 0648d8d3 50899fb2
Loading
Loading
Loading
Loading
+5 −6
Original line number Diff line number Diff line
@@ -31,7 +31,7 @@ namespace tuner {

#define WAIT_TIMEOUT 3000000000

Demux::Demux(int32_t demuxId, std::shared_ptr<Tuner> tuner) {
Demux::Demux(int32_t demuxId, Tuner* tuner) {
    mDemuxId = demuxId;
    mTuner = tuner;
}
@@ -76,7 +76,7 @@ Demux::~Demux() {
    }

    std::shared_ptr<Filter> filter =
            ndk::SharedRefBase::make<Filter>(in_type, filterId, in_bufferSize, in_cb, ref<Demux>());
            ndk::SharedRefBase::make<Filter>(in_type, filterId, in_bufferSize, in_cb, this);
    if (!filter->createFilterMQ()) {
        *_aidl_return = nullptr;
        return ::ndk::ScopedAStatus::fromServiceSpecificError(
@@ -110,7 +110,7 @@ Demux::~Demux() {
::ndk::ScopedAStatus Demux::openTimeFilter(std::shared_ptr<ITimeFilter>* _aidl_return) {
    ALOGV("%s", __FUNCTION__);

    mTimeFilter = ndk::SharedRefBase::make<TimeFilter>(ref<Demux>());
    mTimeFilter = ndk::SharedRefBase::make<TimeFilter>(this);

    *_aidl_return = mTimeFilter;
    return ::ndk::ScopedAStatus::ok();
@@ -201,8 +201,7 @@ Demux::~Demux() {
    set<int64_t>::iterator it;
    switch (in_type) {
        case DvrType::PLAYBACK:
            mDvrPlayback =
                    ndk::SharedRefBase::make<Dvr>(in_type, in_bufferSize, in_cb, ref<Demux>());
            mDvrPlayback = ndk::SharedRefBase::make<Dvr>(in_type, in_bufferSize, in_cb, this);
            if (!mDvrPlayback->createDvrMQ()) {
                mDvrPlayback = nullptr;
                *_aidl_return = mDvrPlayback;
@@ -223,7 +222,7 @@ Demux::~Demux() {
            *_aidl_return = mDvrPlayback;
            return ::ndk::ScopedAStatus::ok();
        case DvrType::RECORD:
            mDvrRecord = ndk::SharedRefBase::make<Dvr>(in_type, in_bufferSize, in_cb, ref<Demux>());
            mDvrRecord = ndk::SharedRefBase::make<Dvr>(in_type, in_bufferSize, in_cb, this);
            if (!mDvrRecord->createDvrMQ()) {
                mDvrRecord = nullptr;
                *_aidl_return = mDvrRecord;
+2 −2
Original line number Diff line number Diff line
@@ -50,7 +50,7 @@ class Tuner;

class Demux : public BnDemux {
  public:
    Demux(int32_t demuxId, std::shared_ptr<Tuner> tuner);
    Demux(int32_t demuxId, Tuner* tuner);
    ~Demux();

    ::ndk::ScopedAStatus setFrontendDataSource(int32_t in_frontendId) override;
@@ -95,7 +95,7 @@ class Demux : public BnDemux {

  private:
    // Tuner service
    std::shared_ptr<Tuner> mTuner;
    Tuner* mTuner;

    // Frontend source
    std::shared_ptr<Frontend> mFrontend;
+1 −2
Original line number Diff line number Diff line
@@ -31,8 +31,7 @@ namespace tuner {

#define WAIT_TIMEOUT 3000000000

Dvr::Dvr(DvrType type, uint32_t bufferSize, const std::shared_ptr<IDvrCallback>& cb,
         std::shared_ptr<Demux> demux) {
Dvr::Dvr(DvrType type, uint32_t bufferSize, const std::shared_ptr<IDvrCallback>& cb, Demux* demux) {
    mType = type;
    mBufferSize = bufferSize;
    mCallback = cb;
+2 −3
Original line number Diff line number Diff line
@@ -57,8 +57,7 @@ class Tuner;

class Dvr : public BnDvr {
  public:
    Dvr(DvrType type, uint32_t bufferSize, const std::shared_ptr<IDvrCallback>& cb,
        std::shared_ptr<Demux> demux);
    Dvr(DvrType type, uint32_t bufferSize, const std::shared_ptr<IDvrCallback>& cb, Demux* demux);
    ~Dvr();

    ::ndk::ScopedAStatus getQueueDesc(
@@ -88,7 +87,7 @@ class Dvr : public BnDvr {

  private:
    // Demux service
    std::shared_ptr<Demux> mDemux;
    Demux* mDemux;

    DvrType mType;
    uint32_t mBufferSize;
+1 −1
Original line number Diff line number Diff line
@@ -37,7 +37,7 @@ namespace tuner {
Filter::Filter() {}

Filter::Filter(DemuxFilterType type, int64_t filterId, uint32_t bufferSize,
               const std::shared_ptr<IFilterCallback>& cb, std::shared_ptr<Demux> demux) {
               const std::shared_ptr<IFilterCallback>& cb, Demux* demux) {
    mType = type;
    mFilterId = filterId;
    mBufferSize = bufferSize;
Loading