Skip to content
  • 0 Votes
    2 Posts
    136 Views
    K
    Kernel error during changing play video: Oct 20 07:33:58 PXDEVICE kernel: ------------[ cut here ]------------ Oct 20 07:33:58 PXDEVICE kernel: 3038 pages are still in use! Oct 20 07:33:58 PXDEVICE kernel: WARNING: CPU: 2 PID: 559 at mm/page_alloc.c:9275 free_contig_range+0xa4/0xc0 Oct 20 07:33:58 PXDEVICE kernel: Modules linked in: snd_soc_imx_spdif snd_soc_imx_hdmi snd_soc_wm8904 fsl_jr_uio caam_jr caamkeyblob_desc caamhash_desc caamalg_desc crypto_engine rng_core authenc libdes imx8mq_interconnect imx_interconnect crct10dif_ce imx8m_ddrc governor_userspace imx_bus rtc_ds1307 snd_soc_fsl_spdif secvio caam error snd_soc_fsl_sai imx_sdma nfsd galcore(O) fuse Oct 20 07:33:58 PXDEVICE kernel: CPU: 2 PID: 559 Comm: QSGRenderThread Tainted: G W O 5.15.60-imx8mq+geeb831e225df #1 Oct 20 07:33:58 PXDEVICE kernel: Hardware name: Variscite DART-MX8M on DT8MCustomBoard 2.x and above SD+HDMI (DT) Oct 20 07:33:58 PXDEVICE kernel: pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--) Oct 20 07:33:58 PXDEVICE kernel: pc : free_contig_range+0xa4/0xc0 Oct 20 07:33:58 PXDEVICE kernel: lr : free_contig_range+0xa4/0xc0 Oct 20 07:33:58 PXDEVICE kernel: sp : ffff80001bae3ae0 Oct 20 07:33:58 PXDEVICE kernel: x29: ffff80001bae3ae0 x28: ffff0000c1bac740 x27: 0000000000000000 Oct 20 07:33:58 PXDEVICE kernel: x26: 0000000000000000 x25: ffff0000c2e8cc00 x24: 0000000000000000 Oct 20 07:33:58 PXDEVICE kernel: x23: ffff80000980e248 x22: fffffc0000000000 x21: 00000000000d72d8 Oct 20 07:33:58 PXDEVICE kernel: x20: 0000000000000bde x19: 00000000000d72d8 x18: ffffffffffffffff Oct 20 07:33:58 PXDEVICE kernel: x17: 0000000000000000 x16: 0000000000000000 x15: ffff800009efe96e Oct 20 07:33:58 PXDEVICE kernel: x14: ffffffffffffffff x13: ffff800009d82810 x12: 000000000000067b Oct 20 07:33:58 PXDEVICE kernel: x11: 0000000000000229 x10: ffff800009d82810 x9 : ffff800009d82810 Oct 20 07:33:58 PXDEVICE kernel: x8 : 00000000ffffefff x7 : ffff800009dda810 x6 : ffff800009dda810 Oct 20 07:33:58 PXDEVICE kernel: x5 : ffff0000ff7839d0 x4 : 0000000000000000 x3 : 0000000000000027 Oct 20 07:33:58 PXDEVICE kernel: x2 : 0000000000000000 x1 : 0000000000000000 x0 : ffff0000c1bac740 Oct 20 07:33:58 PXDEVICE kernel: Call trace: Oct 20 07:33:58 PXDEVICE kernel: free_contig_range+0xa4/0xc0 Oct 20 07:33:58 PXDEVICE kernel: cma_release+0x78/0xbc Oct 20 07:33:58 PXDEVICE kernel: dma_free_contiguous+0xa8/0xbc Oct 20 07:33:58 PXDEVICE kernel: dma_direct_free+0xbc/0x110 Oct 20 07:33:58 PXDEVICE kernel: dma_free_attrs+0x9c/0xe0 Oct 20 07:33:58 PXDEVICE kernel: vb2_dc_put+0x88/0xc0 Oct 20 07:33:58 PXDEVICE kernel: vb2_dc_dmabuf_ops_release+0x14/0x50 Oct 20 07:33:58 PXDEVICE kernel: dma_buf_release+0x40/0xa0 Oct 20 07:33:58 PXDEVICE kernel: __dentry_kill+0x13c/0x1d0 Oct 20 07:33:58 PXDEVICE kernel: dput+0x1c4/0x300 Oct 20 07:33:58 PXDEVICE kernel: __fput+0xb0/0x234 Oct 20 07:33:58 PXDEVICE kernel: ____fput+0x10/0x20 Oct 20 07:33:58 PXDEVICE kernel: task_work_run+0x80/0x180 Oct 20 07:33:58 PXDEVICE kernel: do_notify_resume+0x208/0x12ec Oct 20 07:33:58 PXDEVICE kernel: el0_svc+0x6c/0x80 Oct 20 07:33:58 PXDEVICE kernel: el0t_64_sync_handler+0xa4/0x130 Oct 20 07:33:58 PXDEVICE kernel: el0t_64_sync+0x1a0/0x1a4 Oct 20 07:33:58 PXDEVICE kernel: ---[ end trace 65d78baf2fb2bd43 ]--- Oct 20 07:33:58 PXDEVICE kernel: ------------[ cut here ]------------ Oct 20 07:33:58 PXDEVICE kernel: 3038 pages are still in use! Oct 20 07:33:58 PXDEVICE kernel: WARNING: CPU: 2 PID: 559 at mm/page_alloc.c:9275 free_contig_range+0xa4/0xc0 Oct 20 07:33:58 PXDEVICE kernel: Modules linked in: snd_soc_imx_spdif snd_soc_imx_hdmi snd_soc_wm8904 fsl_jr_uio caam_jr caamkeyblob_desc caamhash_desc caamalg_desc crypto_engine rng_core authenc libdes imx8mq_interconnect imx_interconnect crct10dif_ce imx8m_ddrc governor_userspace imx_bus rtc_ds1307 snd_soc_fsl_spdif secvio caam error snd_soc_fsl_sai imx_sdma nfsd galcore(O) fuse Oct 20 07:33:58 PXDEVICE kernel: CPU: 2 PID: 559 Comm: QSGRenderThread Tainted: G W O 5.15.60-imx8mq+geeb831e225df #1 ... Oct 20 07:33:58 PXDEVICE PXDEVICE-main[501]: CODEC: BLN_MAD-MMCODECS_AACD_ARM_03.09.00_ARMV8 build on Sep 20 2017 15:02:50. Oct 20 07:33:58 PXDEVICE PXDEVICE-main[501]: Oct 20 07:33:58 PXDEVICE PXDEVICE-main[501]: ====== AIUR: 4.7.0 build on May 20 2022 06:51:21. ====== Oct 20 07:33:58 PXDEVICE PXDEVICE-main[501]: Core: MPEG4PARSER_06.20.06 build on May 7 2022 07:52:31 Oct 20 07:33:58 PXDEVICE PXDEVICE-main[501]: file: /usr/lib/imx-mm/parser/lib_mp4_parser_arm_elinux.so.3.2 Oct 20 07:33:58 PXDEVICE PXDEVICE-main[501]: ------------------------ Oct 20 07:33:58 PXDEVICE PXDEVICE-main[501]: Track 00 [video_0] Enabled Oct 20 07:33:58 PXDEVICE PXDEVICE-main[501]: Duration: 0:02:07.127000000 Oct 20 07:33:58 PXDEVICE PXDEVICE-main[501]: Language: und Oct 20 07:33:58 PXDEVICE PXDEVICE-main[501]: Mime: Oct 20 07:33:58 PXDEVICE PXDEVICE-main[501]: video/x-h265, parsed=(boolean)true, alignment=(string)au, stream-format=(string)hev1, width=(int)3840, height=(int)2160, framerate=(fraction)60000/1001, codec_data=(buffer)01222000000090000000000099f000fcfdfafa00000703a00001002040010c01ffff222000000300900000030000030099350300001f4800075300e8a10001029e420101222000000300900000030000030099a001e020021c4d8d35924f841470f1c0903b0e18361a0842f081210088401006e1a306c341085ca0a021044170b02a0ac28035407080e007d02b4180a8200b858150561401aa038407003e8158a10d35e9e860d7430341b1b8c0d0703a1b1b181a0e432130c8602418101f1f1c1e307426120e0c04304038108200940ff0869af21720482659024120984f09048381d0984e1209072190985c2c120c080f8f8e0f183a130907060218201c0841004a07f286894d082c838e52181702f2c80b80dc06b05f82e03503a06606b06306006a0640e00b20730660c80e405803900ab07707402a81c7ffc12434498e6182620c7290c0b81796405c06e03582fc1701a81d03303583183003503207005903983306407202c01c805583b83a01540e3ffe090a10e9af4f4306ba181a0d8dc6068381d0d8d8c0d072190986430120c080f8f8e0f183a130907060218201c0841004a07f843a6bc85c81209964090482613c24120e0742613848241c86426170b04830203e3e383c60e84c241c1808608070210401281fca1a929a1059071ca4302e05e5901701b80d60bf05c06a0740cc0d60c60c00d40c81c01640e60cc1901c80b007201560ee0e8055038fff82486a498e6182620c7290c0b81796405c06e03582fc1701a81d03303583183003503207005903983306407202c01c805583b83a01540e3ffe090a10e9af4f4306ba181a0d8dc6068381d0d8d8c0d072190986430120c080f8f8e0f183a130907060218201c0841004a07f86a498e6182620c7290c0b81796405c06e03582fc1701a81d03303583183003503207005903983306407202c01c805583b83a01540e3ffe091115c96a5de02d4244026d9400007d20001d4c03e46818dc0002625a0001312d00004c4b40002625a8b840208a2000100084401c172438d6224 Oct 20 07:33:58 PXDEVICE PXDEVICE-main[501]: ------------------------ Oct 20 07:33:58 PXDEVICE PXDEVICE-main[501]: ------------------------ Oct 20 07:33:58 PXDEVICE PXDEVICE-main[501]: Track 01 [audio_0] Enabled Oct 20 07:33:58 PXDEVICE PXDEVICE-main[501]: Duration: 0:02:07.168000000 Oct 20 07:33:58 PXDEVICE PXDEVICE-main[501]: Language: eng Oct 20 07:33:58 PXDEVICE PXDEVICE-main[501]: Mime: Oct 20 07:33:58 PXDEVICE PXDEVICE-main[501]: audio/mpeg, mpegversion=(int)4, channels=(int)2, rate=(int)48000, bitrate=(int)192000, stream-format=(string)raw, codec_data=(buffer)1190 Oct 20 07:33:58 PXDEVICE PXDEVICE-main[501]: ------------------------ Oct 20 07:33:58 PXDEVICE PXDEVICE-main[501]: ====== BEEP: 4.7.0 build on May 20 2022 06:51:21. ====== Oct 20 07:33:58 PXDEVICE PXDEVICE-main[501]: Core: AAC decoder Wrapper build on Jul 28 2020 10:45:34 Oct 20 07:33:58 PXDEVICE PXDEVICE-main[501]: file: /usr/lib/imx-mm/audio-codec/wrap/lib_aacd_wrap_arm_elinux.so.3 Oct 20 07:33:58 PXDEVICE PXDEVICE-main[501]: CODEC: BLN_MAD-MMCODECS_AACD_ARM_03.09.00_ARMV8 build on Sep 20 2017 15:02:50. Oct 20 07:33:58 PXDEVICE PXDEVICE-main[501]: Oct 20 07:33:58 PXDEVICE PXDEVICE-main[501]: ====== V4L2DEC: 1.20.0 build on Apr 24 2022 09:19:42. ======
  • 0 Votes
    1 Posts
    317 Views
    No one has replied
  • 0 Votes
    3 Posts
    966 Views
    K
    @Cleiton-Bueno Command output: PACKAGECONFIG="gstreamer alsa gstreamer" PACKAGECONFIG_CONFARGS=" -alsa -gstreamer 1.0 -no-feature-openal -no-pulseaudio" PACKAGECONFIG_OPENSSL="openssl" @edit I also discovered that there is no "qmlgl" (qmlgloverlay, qmlglsink, qmlglsrc) in the system which should be provided by gstreamer1.0-plugins-good. I forced to build packet configurated for qt5 by add line in my local.conf: PACKAGECONFIG:append:pn-gstreamer1.0-plugins-good = " qt5" After that I have available qmlglsink and other. I still can't play video directly from file because effect is the same no image. I tried to build pipeline: source: "gst-pipeline: filesrc location=/home/root/dillama_1080p.mp4 ! decodebin name=dec ! videoconvert ! qmlglsink widget" I can't set required pointer to qml widget for qmlglsink. How do it?
  • 0 Votes
    6 Posts
    2k Views
    SGaistS
    @The-Qt-Mayssa both widgets and qml are concerned. For the rest I don't know. You need to do some testing since you have the various systems at hand.
  • 0 Votes
    1 Posts
    319 Views
    No one has replied
  • 0 Votes
    3 Posts
    834 Views
    S
    @SGaist Hi, I am using Qt version 6.5.0, on Windows, and to open fullscreen I am using the following code: void VideoWidget::mouseDoubleClickEvent(QMouseEvent *event) { setFullScreen(!isFullScreen()); event->accept(); } VideoWidget is just a derived class from QVideoWidget
  • 0 Votes
    8 Posts
    2k Views
    SGaistS
    One possible alternative could be to use a Docker container to build your application with a suitably old Ubuntu or maybe a VM which would be even simpler,
  • 0 Votes
    1 Posts
    322 Views
    No one has replied
  • MediaPlayer does not receive stream metadata.

    Unsolved QML and Qt Quick mediaplayer bug
    6
    0 Votes
    6 Posts
    1k Views
    D
    @SGaist, yes Qt 6.5
  • Qt 6.5 MediaPlayer and tcp stream

    Solved Qt 6 mediaplayer streaming
    6
    0 Votes
    6 Posts
    2k Views
    kbarniK
    @SGaist Thank you! That should be probably it! I will test it on 6.5.1 when it will be released and report back.
  • 0 Votes
    5 Posts
    1k Views
    P
    @SGaist Ah, in that case, I'll give it a try. Would that also be the case with QAbstractVideoSurface, or would that one receive further-in frames if more time passes? Processing takes about 250ms per frame on Android right now. I'm working on ways to speed that up, but the processing fps is going to be worse than the video file's fps for some time yet.
  • 0 Votes
    3 Posts
    1k Views
    R
    @GrecKo It does, but it seems to be a read-only reflection of the viewport set for the video frame objects that are coming through the videoSink. When I attempt to assign to it, I get the QML error: Invalid property assignment: "sourceRect" is a read-only property. The docs do not appear to reflect the fact that sourceRect is read-only. I am using Qt 6.3. Looking at the source for VideoOutput (https://github.com/qt/qtmultimedia/blob/37c2d097eb5dd8671cc752dc920da11d66105905/src/multimediaquick/qquickvideooutput_p.h#L41), we can see that the Q_PROPERTY for sourceRect is read-only in both the 6.3 and dev branches. I have had the thought of attempting to manually set the viewport of the QVideoFrameFormat of the frames coming through the VideoOutput's videoSink, but I haven't created a working solution for that strategy yet.
  • 0 Votes
    6 Posts
    2k Views
    SGaistS
    Which examples are you referring to ?
  • 0 Votes
    2 Posts
    677 Views
    I
    @iamRahul I figured it out. We need to specify full location path till the file, and specify file type in format. Then it worked for me. if(audioPlaylist.save("file:///C:/MyMusicPlayer/Playlists/global_playlist.m3u","m3u")) { console.log("Playlist Saved") } Adding the filename global_playlist.m3u and format m3u made it working for me.
  • Local file format

    Solved General and Desktop url local file mediaplayer
    2
    0 Votes
    2 Posts
    685 Views
    UnitScanU
    Solved QString mediafile = playlist->media(n).request().url().toString(); QFileInfo fi(mediafile); reader->setMedia(QUrl::fromLocalFile(fi.absoluteFilePath()));
  • 0 Votes
    13 Posts
    2k Views
    U
    @sgaist The problem was the QGuiApplication in my main.cpp , i turned it to QApplication and it works fine. And lastly what should i do to use my applicationwindow as my videowidget. I want my video to play on my app like normal mediaplayers, not to open another window for it. Thanks for your kind effort.
  • 0 Votes
    11 Posts
    3k Views
    U
    [image: 76eb5c40-4e61-4b6b-ae89-0ce60cf6bd0e.png] I have these versions . It does not work when i build directly on raspberry pi .
  • 0 Votes
    12 Posts
    3k Views
    SGaistS
    Then study the gstreamer implementation for example and start from there. The pattern is to have a "session class" that does the work and then provide all the interfaces you support that will be using said session class.
  • 0 Votes
    16 Posts
    7k Views
    K
    I got the answer . MainWindow.cpp is like that ui->listWidget->setFlow(QListView::LeftToRight); ui->listWidget->setMinimumSize(1050,800); ui->listWidget->setGridSize(QSize(340, 320)); ui->listWidget->setResizeMode(QListView::Adjust); ui->listWidget->setViewMode(QListView::ListMode); ui->listWidget->setWrapping(true); QDir directory = QFileDialog::getExistingDirectory(this, tr("Open Directory"),"/home", QFileDialog::ShowDirsOnly| QFileDialog::DontResolveSymlinks); directory.setNameFilters({"*.mp4" , "*.avi" , "*.flv" , "*.mwv"}); for(const QFileInfo & finfo: directory.entryInfoList()){ QMediaPlayer *mediaPlayer = new QMediaPlayer(); mediaPlayer->setMedia(QUrl::fromLocalFile(finfo.absoluteFilePath())); videoItem = new QGraphicsVideoItem; videoItem->setSize(QSize(300,240)); QGraphicsScene *scene = new QGraphicsScene(this); QGraphicsView *graphicsView = new QGraphicsView(scene); mediaPlayer->setVideoOutput(videoItem); QPushButton *m_playButton = new QPushButton(); m_playButton->setIcon(style()->standardIcon(QStyle::SP_MediaPlay)); connect(m_playButton, &QAbstractButton::clicked, [mediaPlayer]() { switch (mediaPlayer->state()) { case QMediaPlayer::PlayingState: mediaPlayer->pause(); break; default: mediaPlayer->play(); break; } }); connect(mediaPlayer, &QMediaPlayer::stateChanged, [m_playButton, this](QMediaPlayer::State state) { switch(state) { case QMediaPlayer::PlayingState: m_playButton->setIcon(style()->standardIcon(QStyle::SP_MediaPause)); break; default: m_playButton->setIcon(style()->standardIcon(QStyle::SP_MediaPlay)); break; } }); QSlider *m_positionSlider = new QSlider(Qt::Horizontal,this); m_positionSlider->setRange(0,mediaPlayer->duration() / 1000); connect(mediaPlayer, &QMediaPlayer::positionChanged ,[m_positionSlider, this](qint64 position){ m_positionSlider->setValue(position); }); connect(mediaPlayer, &QMediaPlayer::durationChanged ,[m_positionSlider, this](qint64 duration){ m_positionSlider->setRange(0,duration); }); connect(m_positionSlider ,&QAbstractSlider::sliderMoved, [mediaPlayer ,this] (int position){ mediaPlayer->setPosition(position); }); auto item = new QListWidgetItem("", ui->listWidget); auto widget = new QWidget; auto label = new QLabel(finfo.fileName()); auto vb = new QVBoxLayout; QBoxLayout *controlLayout = new QHBoxLayout; controlLayout->setMargin(0); controlLayout->addWidget(m_playButton); controlLayout->addWidget(m_positionSlider); vb->addWidget(label); vb->addWidget(graphicsView); vb->addLayout(controlLayout); widget->setLayout(vb); widget->setMinimumSize(320, 320); ui->listWidget->setItemWidget(item,widget); player.append(mediaPlayer); scene->addItem(videoItem); }