Opened 11 years ago

Closed 11 years ago

#6164 closed task (fixed)

Re-sync with libdvdnav required

Reported by: stuartm Owned by: skamithi
Priority: blocker Milestone: 0.22
Component: MythTV - DVD Playback Version: head
Severity: medium Keywords:
Cc: Ticket locked: no

Description

It seems that libdvdnav (mplayer) has received a lot of love over the past few months to the point where it will handle a lot of newer discs which won't play with the internal player. A re-sync would seem to be in order, but I won't pretend that's a straightforward job since we have modifications (bug fixes) of our own which need to be considered.

Stanley, feel free to re-assign this if you don't have the time or interest, your feedback would be valuable though.

Attachments (4)

00-6164-dvdnav413.patch.gz (230.5 KB) - added by Matthew Wire <devel@…> 11 years ago.
00-6164-dvdnav-svnr1166.patch.gz (187.0 KB) - added by Matthew Wire <devel@…> 11 years ago.
fix-version.diff (1007 bytes) - added by majost@… 11 years ago.
Use version string generated by version.sh
compile_problem_around_version_var.diff (1.7 KB) - added by skamithi 11 years ago.
compile problem around version define variable in libmythdvdnav. move it to dvdnav.h

Download all attachments as: .zip

Change History (18)

comment:1 in reply to:  description Changed 11 years ago by anonymous

Replying to stuartm:

It seems that libdvdnav (mplayer) has received a lot of love over the past few months to the point where it will handle a lot of newer discs which won't play with the internal player. A re-sync would seem to be in order, but I won't pretend that's a straightforward job since we have modifications (bug fixes) of our own which need to be considered.

Stanley, feel free to re-assign this if you don't have the time or interest, your feedback would be valuable though.

Hi! Hope my contribution help. So, is not love is a demand, 95% of my DVDs are not readed by internal. And also mplayer had to be compiled from the latest since the versions available on ubuntu are to old.

I talked by mail with several persons, mplayer developer also. It seems that libdvdnav, libdvdread and libmpeg2 had in the last two years major updates to deal with some DVDs that have some stream issues.

Some ppl says those issues are intended to make dificult the not legal copy for sell, others say that is poor quality.

I noticed this by talking with other people about my great experience with MythTV.

Regards!

Changed 11 years ago by Matthew Wire <devel@…>

Attachment: 00-6164-dvdnav413.patch.gz added

comment:2 Changed 11 years ago by Matthew Wire <devel@…>

Added preview release of dvdnav 4.1.3.

Current bugs that I'm aware of are below. Please report back to me any problems you encounter and any fixes are greatfully received. Since dvdnav is now two libs (dvdnav and dvdread) I have split it in the source tree for ease of merging in future (libmythdvdnav->dvdnav/dvdread). Readme files etc. are not currently included in the patch.

Known issues:

  • Framerate is currently fixed to 25fps (PAL). If you have an NTSC dvd

you'll need to change line 1303 of DVDRingBuffer.cpp to 29.97.

  • Seeking is partially broken. It can get itself into an infinite loop

and I've not got around to working out why. If you can work this one out I'd be interested to know (hint: look at dvdnav_sector_search and dvdnav_time_search).

play but language is not correctly detected for display.

comment:3 Changed 11 years ago by skamithi

Status: newassigned

i'll make a commit next week of what you've done, so bugs can get fixed faster. i can do some testing on my test isos this week, and will incorporate fixes for whatever i find.

thx for working on this, matthew.

Changed 11 years ago by Matthew Wire <devel@…>

comment:4 Changed 11 years ago by Matthew Wire <devel@…>

Thanks skamithi.

New version of the patch attached. It is now rebased against dvdnav svn revision 1166 (only change from 4.1.3 release is some header reorganisation so DVDNAV_COMPILE define is no longer required).

I've added a file called MERGING which details the changes made to the dvdnav library for mythtv so future merges should be easer.

With this patch everything should now work with the partial exception of seeking:

  • Framerate is now correctly autodetected again.
  • Seeking:
    • Chapter skipping works.
    • FF/REW partially works.
    • Jump forward/back doesn't really work properly.
    • There's lot's of debugging info set to VB_IMPORTANT which will need changing/removing when seeking is working properly.

comment:5 Changed 11 years ago by skamithi

(In [19956]) Refs #6164. resync with libdvdnav svn rev 1166. thx to matthew wire for doing most of the work. dvd ff/rew is not working and will be resolved soon.

comment:6 Changed 11 years ago by skamithi

(In [19957]) Refs #6164. fix mistake with fps setting made during [19956] commit. reported by matthew wire.

comment:7 Changed 11 years ago by ksalmela

For some reason compiling broke for me after resync: .. DVDRingBuffer.o: In function `DVDRingBufferPriv::GetNumAudioChannels?(int)': DVDRingBuffer.cpp:(.text+0xa03): undefined reference to `dvdnav_audio_stream_channels' DVDRingBuffer.o: In function `.L990': DVDRingBuffer.cpp:(.text+0x66b5): undefined reference to `dvdnav_get_current_time' DVDRingBuffer.o: In function `DVDRingBufferPriv::OpenFile?(QString const&)': DVDRingBuffer.cpp:(.text+0xb040): undefined reference to `dvdnav_get_serial_string' collect2: ld returned 1 exit status make[2]: * [libmythtv-0.22.so.0.22.0] Error 1 make[2]: Leaving directory `/home/ksal/mythtv/mythtv/libs/libmythtv'

libmythdvdnav compiles ok and is included in the compile command. System is plain vanilla Ubuntu 8.10

Linux mythtv 2.6.27-11-generic #1 SMP Thu Jan 29 19:24:39 UTC 2009 i686 GNU/Linux root@mythtv:~/mythtv/mythtv# g++ --version g++ (Ubuntu 4.3.2-1ubuntu12) 4.3.2

root@mythtv:~/mythtv/mythtv# ld --version GNU ld (GNU Binutils for Ubuntu) 2.18.93.20081009

comment:8 Changed 11 years ago by majost@…

The change commited in r19956 seems to have broken the build for r20038.

cd libmythdvdnav && /usr/bin/make -f Makefile make[3]: Entering directory `/home/majost/src/mythtv-trunk/mythtv/libs/libmythdvdnav' ccache gcc -c -pipe -g -march=i686 -fomit-frame-pointer -O3 -DNDEBUG -g -O2 -fPIC -DPIC -D_ISOC99_SOURCE -D_POSIX_C_SOURCE=200112 -fasm -std=c99 -pthread -g -Wall -Wno-switch -Wdisabled-optimization -Wpointer-arith -Wredundant-decls -Wno-pointer-sign -Wcast-qual -funit-at-a-time -Wwrite-strings -Wtype-limits -fno-math-errno -fno-signed-zeros -fPIC -DPIC -w -D_REENTRANT -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DHAVE_AV_CONFIG_H -D_LARGEFILE_SOURCE -DVERSION=
\"svnR1166
\" -I/usr/share/qt3/mkspecs/default -I. -I/usr/include -I/usr/include -I../.. -Idvdnav -o dvdnav.o dvdnav/dvdnav.c dvdnav/dvdnav.c: In function 'dvdnav_open': dvdnav/dvdnav.c:79: error: stray '\' in program dvdnav/dvdnav.c:79: error: missing terminating " character dvdnav/dvdnav.c:81: error: expected ')' before ';' token dvdnav/dvdnav.c:126: error: expected ';' before '}' token make[3]: * [dvdnav.o] Error 1 make[3]: Leaving directory `/home/majost/src/mythtv-trunk/mythtv/libs/libmythdvdnav' make[2]: * [sub-libmythdvdnav] Error 2 make[2]: Leaving directory `/home/majost/src/mythtv-trunk/mythtv/libs' make[1]: * [sub-libs] Error 2 make[1]: Leaving directory `/home/majost/src/mythtv-trunk/mythtv' make: * [build-stamp] Error 2 dpkg-buildpackage: failure: debian/rules build gave error exit status 2

Changed 11 years ago by majost@…

Attachment: fix-version.diff added

Use version string generated by version.sh

comment:9 Changed 11 years ago by Ryan H. <majost@…>

I attached a patch which uses the version.cpp/version.sh mechanism to identify the source version. I am not sure that was your original intention, but it seems to resolve the compile time error I was experiencing.

Changed 11 years ago by skamithi

compile problem around version define variable in libmythdvdnav. move it to dvdnav.h

comment:10 Changed 11 years ago by skamithi

majost, pls test latest patch. thx

comment:11 Changed 11 years ago by skamithi

(In [20039]) Refs #6164. compile problem around version define variable in libmythdvdnav. move it to dvdnav.h

comment:12 in reply to:  10 Changed 11 years ago by Ryan H. <majost@…>

Replying to skamithi:

majost, pls test latest patch. thx

New patch compiled clean without incident. Thanks for adding the Readme to clarify the version string too. =)

comment:13 Changed 11 years ago by skamithi

(In [20045]) Refs #6164. resolve dvd seeking issues. this completes the resync.

comment:14 Changed 11 years ago by skamithi

Resolution: fixed
Status: assignedclosed
Note: See TracTickets for help on using tickets.