Opened 15 years ago
Closed 15 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)
Change History (18)
comment:1 Changed 15 years ago by
Changed 15 years ago by
Attachment: | 00-6164-dvdnav413.patch.gz added |
---|
comment:2 Changed 15 years ago by
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).
- Subtitles/Audio? languages are partially broken. Correct ones should
play but language is not correctly detected for display.
comment:3 Changed 15 years ago by
Status: | new → assigned |
---|
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 15 years ago by
Attachment: | 00-6164-dvdnav-svnr1166.patch.gz added |
---|
comment:4 Changed 15 years ago by
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.
- Subtitles/Audio? languages appear to work correctly.
- 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.
- Chapter skipping works.
comment:5 Changed 15 years ago by
comment:6 Changed 15 years ago by
comment:7 Changed 15 years ago by
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 15 years ago by
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 15 years ago by
Attachment: | fix-version.diff added |
---|
Use version string generated by version.sh
comment:9 Changed 15 years ago by
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 15 years ago by
Attachment: | compile_problem_around_version_var.diff added |
---|
compile problem around version define variable in libmythdvdnav. move it to dvdnav.h
comment:11 Changed 15 years ago by
comment:12 Changed 15 years ago by
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 15 years ago by
comment:14 Changed 15 years ago by
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Replying to stuartm:
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!