Opened 11 years ago

Closed 10 years ago

#8618 closed defect (Invalid)

video playback

Reported by: jkraftch@… Owned by: Janne Grunau
Priority: minor Milestone: unknown
Component: MythTV - Video Playback Version: 0.23-fixes
Severity: medium Keywords:
Cc: Ticket locked: no


After upgrading to version 0.23, video playback is extremely unreliable. Many videos won't play at all. Some play, but the player crashes/exhits periodically. Some play with audio out of sync with the video, etc. mplayer plays all of these files without issue, but specifying an external player for videos doesn't seem to work anymore in 0.23.

Attachments (1)

stacktrace.txt (24.5 KB) - added by ppww <pete-myth@…> 11 years ago.
Debug session, shows where DVD playback dies.

Download all attachments as: .zip

Change History (9)

comment:1 Changed 11 years ago by stuartm

Priority: majorminor
Severity: highmedium
Status: newinfoneeded_new

Please read the TicketHowTo, we need --version output, a backtrace of the crashes etc.

Are you really running 0.23, or a release candidate? (Ubuntu shipped with RC2 which has many known and fixed problems). Please make sure you are running the most recent version of 0.23-fixes available.

Without the proper information and no other reports of instability we can't begin to fix your issue.

comment:2 Changed 11 years ago by ppww <pete-myth@…>

Possibly similar experience here, just upgraded to daily mythbuntu builds, and most *.iso, *.vob, and VIDEO_TS/* videos cause segfault immediately upon start of playback. Using playback profile libmpeg2+XVideo, nVidia 195 driver/Xserver on GeForce? 8200. Switched to ffmpeg+XVideo and playback does not crash, but is somewhat jerky for hidef source. (In mythtv 0.22+fixes, libmpeg2+XVideo was my best quality option for this hardware.)

# mythfrontend --version Please attach all output as a file in bug reports. MythTV Version : 25221 MythTV Branch : branches/release-0-23-fixes Network Protocol : 56 Library API : 0.23.201000617-1 QT Version : 4.6.2 Options compiled in:

linux debug using_oss using_alsa using_pulse using_jack using_pulseoutput using_backend using_dvb using_firewire using_frontend using_glx_proc_addr_arb using_hdhomerun using_hdpvr using_iptv using_ivtv using_joystick_menu using_libudev using_lirc using_mheg using_opengl_video using_opengl_vsync using_qtdbus using_qtwebkit using_v4l using_x11 using_xrandr using_xv using_xvmc using_xvmc_vld using_xvmcw using_bindings_perl using_bindings_python using_opengl using_vdpau using_ffmpeg_threads using_libavc_5_3 using_live using_mheg

Last few lines output from mythfrontend -v playback: 2010-07-01 02:09:14.044 VideoOutputXv?: InputChanged?(720,480,1.33333) 'MPEG2'->'MPEG2' 2010-07-01 02:09:14.044 Display Rect left: 0, top: 0, width: 1225, height: 688, aspect: 1.77778 2010-07-01 02:09:14.044 Video Rect left: 0, top: 0, width: 720, height: 480, aspect: 1.77778 2010-07-01 02:09:14.045 Display Rect left: 0, top: 0, width: 1225, height: 688, aspect: 1.77778 2010-07-01 02:09:14.045 Video Rect left: 0, top: 0, width: 720, height: 480, aspect: 1.77778 2010-07-01 02:09:14.045 VDP: LoadBestPreferences?(720x480, 29.97) 2010-07-01 02:09:14.050 Forcing GLX version to 1.2 (orig 1.4) 2010-07-01 02:09:14.050 detectInterlace(Ignore Scan, Interlaced Scan, 29.97, 480) ->Interlaced Scan 2010-07-01 02:09:14.050 AFD: HandleGopStart?: gopset not set, syncing positionMap 2010-07-01 02:09:14.050 Dec: Resyncing position map. posmapStarted = 1 livetv(0) watchingRec(0)

Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7fffde7fc710 (LWP 5743)] 0x00007ffff7946144 in mpeg2_idct_copy_mmxext () from /usr/lib/

(gdb) bt #0 0x00007ffff7946144 in mpeg2_idct_copy_mmxext () from /usr/lib/ #1 0x00007ffff7941c12 in mpeg2_slice () from /usr/lib/ #2 0x00007ffff7937548 in mpeg2_parse () from /usr/lib/ #3 0x00007ffff759cce8 in AvFormatDecoderPrivate::DecodeMPEG2Video(AVCodecContext*, AVFrame*, int*, unsigned char*, int) () from /usr/lib/ #4 0x00007ffff75be426 in AvFormatDecoder::GetFrame?(DecodeTypes?) ()

from /usr/lib/

#5 0x00007ffff7535188 in NuppelVideoPlayer::GetFrameNormal?(DecodeTypes?) ()

from /usr/lib/

#6 0x00007ffff7536042 in NuppelVideoPlayer::GetFrame?(DecodeTypes?, bool) ()

from /usr/lib/

#7 0x00007ffff75450a2 in NuppelVideoPlayer::StartPlaying?(bool) ()

from /usr/lib/

#8 0x00007ffff7576a63 in ?? () from /usr/lib/ #9 0x00007ffff1dd89ca in start_thread () from /lib/ #10 0x00007fffedfa96cd in clone () from /lib/ #11 0x0000000000000000 in ?? ()

Changed 11 years ago by ppww <pete-myth@…>

Attachment: stacktrace.txt added

Debug session, shows where DVD playback dies.

comment:3 Changed 11 years ago by ppww <pete-myth@…>

Attached debug session. Shows that decoder has been set up with a null dest. Could be a bug in libmpeg2 (at least it should test for this condition, rather than trying to access a null ptr), but DVD playback worked fine using this library in last 0.22+fixes release. Broken in 0.23+fixes.

comment:4 Changed 11 years ago by stuartm

I assume you aren't seeing the same issue with the Standard (ffmpeg) decoder?

comment:5 Changed 11 years ago by ppww <pete-myth@…>

Correct, my workaround is to fall back to ffmpeg, which works fine. I seemed to get better performance (lower CPU load, less stuttering) with libmpeg2, which is why I'd prefer to use that, but haven't benchmarked them lately to see how much of a difference there is now.

comment:6 Changed 11 years ago by robertm

Status: infoneeded_newnew

comment:7 Changed 11 years ago by robertm

Status: newassigned

comment:8 Changed 10 years ago by tralph

Resolution: Invalid
Status: assignedclosed

Closing as libmpeg2 has been removed as a decoder for playback.

Note: See TracTickets for help on using tickets.