K3B

Be a maintainer

I fixed KDEBUG-365089 my colleague, found that it fell into the infinte loop when selecting file and burning ISO, reported the bug to me in the internal bugzilla, then I sent an email to KDE release-team for asking whether or not make a tag for kf5 branch with my patch. Fortunatly Michael Pyne quickly repiled me, and he asked did you want to take over maintenance of K3B? I found out previouse maintainers and core developers' email via git log, then email them, but NO reply yet, so I am maintaing it now.

And my sincere thanks go to David Faure, he helped me owing to I broke the dependency freeze of libkcddb regarding the Applications/16.08 release. So I migrated all projects requires KF5Cddb, and right now libkcddb is KF5 ready!

Also thank Thomas Schmitt, the author of libburnia, he is a nice mentor to teach me about ISO 9660 and MMC knowledage patiently and carefully.

Bug hunter

I am looking for bugs via mailing list. So please report bug and CC to lesliezhai@llvm.org.cn if you found one.

  1. KDEBUG-380255
  2. KDEBUG-379448
  3. KDEBUG-379268
  4. KDEBUG-377106
  5. KDEBUG-377105
  6. KDEBUG-376953
  7. KDEBUG-375016
  8. Sorry for my misunderstanding of QSharedPointer. As Kai Uwe suggested, it is better to use Qt::WA_DeleteOnClose.

  9. KDEBUG-367639
  10. Please remove wodim (forked cdrecord) from cdrkit (CD only, DVD deprecated, unmaintained), website was down, release tarball is NOT available, svn repos is so quiet! But install cdrtools A.K.A cdrecord instead.

    growisofs from dvd+rw-tools (DVD and BD only) is a frontend to mkisofs, as growisofs.c changlog described:

       * - copy volume descriptors if -C was specified with -M /dev/dvd=image             
       *   [by request from K3b];
      
    then how growisofs parsing -C parameter?
            else if (argv[i][1] == 'C' || !strncmp(opt,"-cdrecord-params",16))
    	    { char *s=argv[i+1];
    	      int   i1,i2;
    		if (argv[i][1]=='C' && len>2)	s=argv[i]+2;
    		else				i++;
    		if (sscanf (s,"%d,%d",&i1,&i2) == 2)
    		    alleged_next_session=i2;
    		continue;
    	    }
      
    so if wrongly use growisofs -C 0,0 ... the char* s is 0,0 and alleged_next_session is 0 then construct next session for you next_session=setup_C_parm(C_parm,saved_descriptors); but if alleged_next_session!=next_session, it will throw -C argument is insane error!

  11. KDEBUG-360170
  12. Please use Kdenlive to import VOB, edit it then render into mp4.

    It is not encrypted issue at all! libdvdcss is able to access and unscramb DVDs encrypted with the Content Scramble System (CSS), but transcode failed to rip videodvd (see screenshot) using mplayer to test the output *.avi, and debug info goes here. There is a looping failure for libdvdread's CHECK_VALUE(dsi->dsi_gi.zero1 == 0), but it doesn't matter, using mplayer to rip videodvd mplayer -dumpstream dvd:////dev/sr0 -nocache -dumpfile test.mpg also print out such stuff! But pay more attention to ffmpeg libavcodec's warning:

      [mpeg4 @ 0x55a0daf96a40] AVFrame.format is not set
      [mpeg4 @ 0x55a0daf96a40] AVFrame.width or height is not set
      
    I reported the issue to UPSTREAM ArchLinux packager choosing transcode-1.1.7's tarball, but transcoding.org domain relocating to https://bitbucket.org/achurch_/transcode/wiki/Home, so I have no idea what happened - yet another transcode v1.2.0-d302c3a215bb, and failed to build for ffmpeg v3.1.3, then I migrated it, NOT be merged again! transcode-1.2 (binary name) still failed to rip videodvd, same story as the screenshot.

  13. KDEBUG-349160
  14. KDEBUG-344392
  15. KDEBUG-328529
  16. KDEBUG-257602
  17. UDF v2.6.x unimplemented for Linux kernel yet! perhaps we can deep into it and try to support it ;-)

  18. KDEBUG-137436
  19. Migrated to libburnia already! argue is cheap show me the patch ;-)

Test enviroment

As a maintainer or debuger, plugable CD/DVD driver and some Audio CD and Video DVD is needed, but CDEmu is a good choice, if without CD/DVD driver nor empty CD/DVD/Blu-ray disc to test: cdemu create-blank --writer-id=WRITER-ISO --medium-type=dvd+r 0 ~/virt.iso or cdemu create-blank --writer-id=WRITER-TOC --medium-type=cdr80 --param="writer.write_raw=1" --param="writer.write_subchannel=1" 0 ~/virt.toc then you can burning ArchLinux or Fedora iso to this virtual DVD disc media by K3B.

Dependence

I use iSOFTLinux (M.O.D rpm), ArchLinux (pacman) and Fedora (rpm). please run sudo dnf upgrade --refresh or sudo pacman -Syu to upgrade your system.

Build

  mkdir build
  cd build
  cmake .. -DCMAKE_INSTALL_PREFIX=/usr    \
    -DKDE_INSTALL_LIBDIR=lib    \
    -DKDE_INSTALL_LIBEXECDIR=lib    \
    -DKDE_INSTALL_USE_QT_SYS_PATHS=ON   \
    -DK3B_BUILD_API_DOCS=ON \
    -DK3B_ENABLE_PERMISSION_HELPER=ON   \
    -DK3B_DEBUG=ON
  make -j 5
  sudo make install
  

Implementating NEW features

Firstly, as a KDE developer, I need to fix high priority bugs, but I will pay some attention to the implementation of NEW features reported by users. In fact what I fixed KDEBUG-365604 is just the W.I.P implementation of saving document data for videodvd.