MacOS无法在自制软件上仅安装headhead(酿造水龙头homebrew / headonly)

时间:2019-11-18 12:12:28

标签: terminal homebrew

这是我输入以下命令后终端显示的信息:brew tap homebrew / headonly

还没有尝试解决任何问题,有什么建议吗?


void VideoClientInterface::onEncodedFrame(video::encoded_frame_t &encodedFrame) {
    AVFrame *filt_frame = av_frame_alloc();
    auto frame = std::shared_ptr<video::encoded_frame_t>(new video::encoded_frame_t,
                                                         [](video::encoded_frame_t *p) { if (p) delete p; });
    if (frame) {
        frame->size = encodedFrame.size;
        frame->ssrc = encodedFrame.ssrc;
        frame->width = encodedFrame.width;
        frame->height = encodedFrame.height;
        frame->dataType = encodedFrame.dataType;
        frame->timestamp = encodedFrame.timestamp;
        frame->frameIndex = encodedFrame.frameIndex;
        frame->isKeyFrame = encodedFrame.isKeyFrame;
        frame->isDroppable = encodedFrame.isDroppable;

        frame->data = new char[frame->size];
        if (frame->data) {
            memcpy(frame->data, encodedFrame.data, frame->size);
            AVPacket packet;
            av_init_packet(&packet);

            packet.dts = AV_NOPTS_VALUE;
            packet.pts = encodedFrame.timestamp;

            packet.data = (uint8_t *) encodedFrame.data;
            packet.size = encodedFrame.size;

            int ret = avcodec_send_packet(m_avCodecContext, &packet);
            if (ret == 0) {
                ret = avcodec_receive_frame(m_avCodecContext, m_avFrame);
                if (ret == 0) {
                    m_transform = sws_getCachedContext(
                            m_transform, // previous context ptr
                            m_avFrame->width, m_avFrame->height, AV_PIX_FMT_YUV420P, // src
                            m_avFrame->width, m_avFrame->height, AV_PIX_FMT_RGB24, // dst
                            SWS_BILINEAR, nullptr, nullptr, nullptr // options
                    );

                    auto decodedFrame = std::make_shared<video::decoded_frame_t>();
                    decodedFrame->width = m_avFrame->width;
                    decodedFrame->height = m_avFrame->height;
                    decodedFrame->size = m_avFrame->width * m_avFrame->height * 3;
                    decodedFrame->timeStamp = m_avFrame->pts;

                    decodedFrame->data = new unsigned char[decodedFrame->size];

                    if (decodedFrame->data) {
                        uint8_t *dstSlice[] = {decodedFrame->data,
                                               0,
                                               0};// outFrame.bits(), outFrame.bits(), outFrame.bits()

                        const int dstStride[] = {decodedFrame->width * 3, 0, 0};
                        sws_scale(m_transform, m_avFrame->data, m_avFrame->linesize,
                                                  0, m_avFrame->height, dstSlice, dstStride);

                        auto m_rawData = decodedFrame->data;
                        auto len = strlen(reinterpret_cast<char *>(m_rawData));
                        if (frameCounter == 10) {
                            jobject newArray = GetJniEnv()->NewDirectByteBuffer(m_rawData, len);
                            GetJniEnv()->CallVoidMethod(m_obj, setSurfaceImage, newArray);
                            frameCounter = 0;

                        }
                        frameCounter++;

                    }
                } else {
                    av_packet_unref(&packet);
                }
            } else {
                av_packet_unref(&packet);
            }
        }
    }
}

1 个答案:

答案 0 :(得分:0)

这很正常:homebrew/headonly很久以前就已过时,该存储库不再存在。很难维护,因此继续拥有它并没有任何意义,因为任何人都可以create their own tap