movieplayer2 und TS-Dateien mit AC3

Das Original Benutzerinterface Neutrino-SD incl. zapit, sectionsd, yWeb etc...
bellum
bbs-Maintainer
Beiträge: 282
Registriert: Montag 23. Oktober 2006, 22:13

movieplayer2 und TS-Dateien mit AC3

Beitrag von bellum »

Habe heute einmal versucht eine TS-Datei mit dem movieplayer2 abzuspielen welche eine Stereo und eine AC3 5.1 Tonspur enthält. Leider ohne Erfolg :(

Es kommt zwar noch der Tonspur-Auswahldialog aber dann bleibt bei AC3 der Bildschirm dunkel und Neutrino hängt, bei Stereo bleibt der Bildschirm ebenfalls dunkel, ab und an hört man aber noch ein paar Tonfragmente und der Movieplayer2 hängt sich nicht weg sondern kann beendet werden.

Versucht habe ich das ganze mit einem YADD von heute auf meiner Sagem Kabel dbox mit avia600vb22, ucode 0014 (built in). Die TS-Datei wurde mit dem gleichen YADD aufgenommen (diese kann ich auch gerne zur Verfügung stellen mit 300MB).
Der movieplayer1 kann übrigens die Datei abspielen...

Anbei noch ein paar Logs:

Code: Alles auswählen

Auswahl der AC3 Tonspur im Dialog

[movieplayer2.cpp] CMoviePlayerGui::exec actionKey='tsplayback'
[ConfigFile] Unable to open file /var/tuxbox/config/bookmarks for reading.
[mp:exec:398] executing /var/tuxbox/config/movieplayer.start
sh: /var/tuxbox/config/movieplayer.start: not found
[mp:PlayFile:2545] setting parental to (0)
sh: /var/bin/parental.sh: not found
[mp:PlayStream:2623] STREAMTYPE_LOCAL ''
[mp:PlayStream:2651] old path was vlc, setting to local
[mp:PlayStream:2761] Path: '/mnt/movies/record/'
[mp:PlayStream:2790] sel_filename: /mnt/movies/record/SAT.1_2009-10-26_202501.001.ts
[mp:PlayStream:2799] Generated FILE MRL: /mnt/movies/record/SAT.1_2009-10-26_202501.001.ts
[mp:OutputThread:2031] ringbuffer (size 1048575) created
[mp:OutputThread:2040] mrl:/mnt/movies/record/SAT.1_2009-10-26_202501.001.ts
[mp:OutputThread:2052] found TS file
[mp:OutputThread:2282] CMoviePlayerGui::SOFTRESET
SPTS, queue 0 extended.
[mp:ReadTSFileThread:1174] start, filename = '/mnt/movies/record/SAT.1_2009-10-26_202501.001.ts', fd = 20, f.size = 1
[mp:ReadTSFileThread:1191] Buffering...
[mp:ReadTSFileThread:1196] Number of files: 1 overall size: 295227492
[mp:ReadTSFileThread:1201] file starts at 0
[mp:ReadTSFileThread:1210] found pida: 0x00CB pidv: 0x00CA ac3: 0 numpida: 2
 => additional apids: 0x00CD
[mp:ReadTSFileThread:1251] PTS at file start: 17896487
[mp:ReadTSFileThread:1287] PTS at file pos 295062804: 18494567 filelen: 598, bps: 491937
[movieplayer.cpp] apid changed to 205
[mp:OutputThread:2093] while streaming found pida: 0x00CB ; pidv: 0x00CA ac3: 1
[mp:OutputThread:2111] APID changed from 0x00cb to 0x00cd
[mp:OutputThread:2282] CMoviePlayerGui::SOFTRESET
SPTS, queue 0 extended.

Versuch mit der Fernbedienung den Movieplayer2 zu beenden (erfolglos)

[mp:PlayStream:2738] waiting for output thread to terminate...
[mp:ReadTSFileThread:1488] ends now.

Code: Alles auswählen

Auswahl der Stereo Tonspur im Dialog

[movieplayer2.cpp] CMoviePlayerGui::exec actionKey='tsplayback'
[ConfigFile] Unable to open file /var/tuxbox/config/bookmarks for reading.
[mp:exec:398] executing /var/tuxbox/config/movieplayer.start
sh: /var/tuxbox/config/movieplayer.start: not found
[mp:PlayFile:2545] setting parental to (0)
sh: /var/bin/parental.sh: not found
[mp:PlayStream:2623] STREAMTYPE_LOCAL ''
[mp:PlayStream:2651] old path was vlc, setting to local
[mp:PlayStream:2761] Path: '/mnt/movies/record/'
[mp:PlayStream:2790] sel_filename: /mnt/movies/record/SAT.1_2009-10-26_202501.001.ts
[mp:PlayStream:2799] Generated FILE MRL: /mnt/movies/record/SAT.1_2009-10-26_202501.001.ts
[mp:OutputThread:2031] ringbuffer (size 1048575) created
[mp:OutputThread:2040] mrl:/mnt/movies/record/SAT.1_2009-10-26_202501.001.ts
[mp:OutputThread:2052] found TS file
[mp:OutputThread:2282] CMoviePlayerGui::SOFTRESET
SPTS, queue 0 extended.
[mp:ReadTSFileThread:1174] start, filename = '/mnt/movies/record/SAT.1_2009-10-26_202501.001.ts', fd = 25, f.size = 1
[mp:ReadTSFileThread:1191] Buffering...
[mp:ReadTSFileThread:1196] Number of files: 1 overall size: 295227492
[mp:ReadTSFileThread:1201] file starts at 0
[mp:ReadTSFileThread:1210] found pida: 0x00CB pidv: 0x00CA ac3: 0 numpida: 2
 => additional apids: 0x00CD
[mp:ReadTSFileThread:1251] PTS at file start: 17896487
[mp:ReadTSFileThread:1287] PTS at file pos 295062804: 18494567 filelen: 598, bps: 491937
[movieplayer.cpp] apid changed to 203
[mp:OutputThread:2093] while streaming found pida: 0x00CB ; pidv: 0x00CA ac3: 0
[mp:OutputThread:2111] APID changed from 0x00cb to 0x00cb
[mp:OutputThread:2282] CMoviePlayerGui::SOFTRESET
SPTS, queue 0 extended.

Versuch mit der Fernbedienung den Movieplayer2 zu beenden (erfolgreich)

[mp:PlayStream:2738] waiting for output thread to terminate...
[mp:ReadTSFileThread:1488] ends now.
[mp:OutputThread:2346] Waiting for input thread to stop
[mp:OutputThread:2354] ends here.
[mp:PlayStream:2741] done
[frontend] uncommitted_switch_mode 0 auto_fec 0
PES, queue 0 normal.
[CBasicClient] connect failed.
/tmp/camd.socket: No such file or directory
[mp:PlayStream:3290] waiting for output thread
[mp:PlayStream:3295] ends here
[mp:exec:484] executing /var/tuxbox/config/movieplayer.end
sh: /var/tuxbox/config/movieplayer.end: not found
Wäre Prima wenn man da was machen könnte.

Gruß bellum
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: movieplayer2 und TS-Dateien mit AC3

Beitrag von seife »

hm, ich habe es schon länger nicht mehr auf der dbox probiert, es hat aber mal funktioniert (zumindest ohne AC3) :)

Kannst du den Commit rausfinden, der es kaputt gemacht hat? Einfacher als mit CVS geht das, wenn du den git-mirror von hier http://gitorious.org/~seife/tuxbox-cvs/apps nimmst und mittels "git bisect" den commit, der's kaputt gemacht hat, findest.

Ich habe gerade mal schnell auf der dbox von meinen Kindern probiert und da ist tatsächlich das Bild schwarz, wenn ich AC3-Ton anmache, aber wenn ich die normale Tonspur wähle, dann funktioniert es, das ist Stand von commit 3d507d0828b9f48cd25c6b0a68a4b44d379eaf55, der ist also wohl schon kaputt.

Hat das (AC3) mit movieplayer2 denn jemals funktioniert?
bellum
bbs-Maintainer
Beiträge: 282
Registriert: Montag 23. Oktober 2006, 22:13

Re: movieplayer2 und TS-Dateien mit AC3

Beitrag von bellum »

seife hat geschrieben: Ich habe gerade mal schnell auf der dbox von meinen Kindern probiert und da ist tatsächlich das Bild schwarz, wenn ich AC3-Ton anmache, aber wenn ich die normale Tonspur wähle, dann funktioniert es, das ist Stand von commit 3d507d0828b9f48cd25c6b0a68a4b44d379eaf55, der ist also wohl schon kaputt.

Hat das (AC3) mit movieplayer2 denn jemals funktioniert?
Ich war mir da nicht mehr so sicher, also habe ich die alten Threads rausgekramt (http://dreambox-fan.de/forum/viewtopic. ... 11#p363711,
http://dreambox-fan.de/forum/viewtopic. ... 53#p363653) und es daraufhin mit der avia600vb028 versucht und siehe da, es kommt Bild und Ton. Insofern hat es noch nie wirklich funktioniert, denn der avia600vb028 ist für mich nicht wirklich eine Alternative (siehe http://wiki.tuxbox-cvs.sourceforge.net/wiki/UCodes - "Vor- und Nachteile von zwei verschiedenen avia600ux Versionen" - ich nutze "Bei Verwendung eines aktuellen Images kann folgende Lösung des Problems genutzt werden").

So wie ich das sehe hast Du bei Deinen Kindern auch eine avia600vb022 im Einsatz...

Gruß bellum
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: movieplayer2 und TS-Dateien mit AC3

Beitrag von seife »

Ja, meine Kinder haben die 022 auf der Box. Die haben auch kein AC3 ;)

aber die 022 geht mit movieplayer1? Das wäre dann doch seltsam...

EDIT: hm, evtl. müsste man den SPTS-mode beim starten des MP2 ausmachen und beim stoppen wieder an...
bellum
bbs-Maintainer
Beiträge: 282
Registriert: Montag 23. Oktober 2006, 22:13

Re: movieplayer2 und TS-Dateien mit AC3

Beitrag von bellum »

seife hat geschrieben:Ja, meine Kinder haben die 022 auf der Box. Die haben auch kein AC3 ;)

aber die 022 geht mit movieplayer1? Das wäre dann doch seltsam...

EDIT: hm, evtl. müsste man den SPTS-mode beim starten des MP2 ausmachen und beim stoppen wieder an...
ja die 022 geht definitiv mit dem movieplayer1...
wie das der movieplayer1 macht weiß ich aber leider auch nicht :(
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: movieplayer2 und TS-Dateien mit AC3

Beitrag von seife »

Hm. Also ich habe auch SPTS aktiviert, insofern kann es bei mir nicht gehen ;)

Ich gehe mal davon aus, du hast es ohne SPTS getestet?

Kannst du mal vor dem starten des MP2 nachschauen, ob es wirklich aus ist:

Code: Alles auswählen

/var # pzapit --decmode
decoder mode = 1
Muss bei dir natürlich 0 sein ;)

Ansonsten sollte dieser diff movieplayer2-test-ac3-dbox2.diff den MP2-code was den playback-start angeht näher an den MP1 ranbringen, evtl. hilft das ja was...
bellum
bbs-Maintainer
Beiträge: 282
Registriert: Montag 23. Oktober 2006, 22:13

Re: movieplayer2 und TS-Dateien mit AC3

Beitrag von bellum »

seife hat geschrieben:Kannst du mal vor dem starten des MP2 nachschauen, ob es wirklich aus ist:

Code: Alles auswählen

/var # pzapit --decmode
decoder mode = 1
Muss bei dir natürlich 0 sein ;)

Ansonsten sollte dieser diff movieplayer2-test-ac3-dbox2.diff den MP2-code was den playback-start angeht näher an den MP1 ranbringen, evtl. hilft das ja was...
Dein diff hat leider nicht geholfen :(

Code: Alles auswählen

/ # pzapit --decmode
decoder mode = 0
/ # 
/ #[movieplayer2.cpp] CMoviePlayerGui::exec actionKey='tsplayback'
[ConfigFile] Unable to open file /var/tuxbox/config/bookmarks for reading.
[mp:exec:398] executing /var/tuxbox/config/movieplayer.start
sh: /var/tuxbox/config/movieplayer.start: not found
[mp:PlayFile:2548] setting parental to (0)
sh: /var/bin/parental.sh: not found
[mp:PlayStream:2626] STREAMTYPE_LOCAL ''
[mp:PlayStream:2654] old path was vlc, setting to local
/ # 
/ # [mp:PlayStream:2764] Path: '/mnt/movies/record/'
[mp:PlayStream:2793] sel_filename: /mnt/movies/record/SAT.1_2009-10-26_202501.001.ts
[mp:PlayStream:2802] Generated FILE MRL: /mnt/movies/record/SAT.1_2009-10-26_202501.001.ts
[mp:OutputThread:2031] ringbuffer (size 1048575) created
[mp:OutputThread:2040] mrl:/mnt/movies/record/SAT.1_2009-10-26_202501.001.ts
[mp:OutputThread:2052] found TS file
[mp:OutputThread:2282] CMoviePlayerGui::SOFTRESET
SPTS, queue 0 extended.
[mp:ReadTSFileThread:1174] start, filename = '/mnt/movies/record/SAT.1_2009-10-26_202501.001.ts', fd = 25, f.size = 1
[mp:ReadTSFileThread:1191] Buffering...
[mp:ReadTSFileThread:1196] Number of files: 1 overall size: 295227492
[mp:ReadTSFileThread:1201] file starts at 0
[mp:ReadTSFileThread:1210] found pida: 0x00CB pidv: 0x00CA ac3: 0 numpida: 2
 => additional apids: 0x00CD
[mp:ReadTSFileThread:1251] PTS at file start: 17896487
[mp:ReadTSFileThread:1287] PTS at file pos 295062804: 18494567 filelen: 598, bps: 491937
/ # 
/ # [movieplayer.cpp] apid changed to 205
[mp:OutputThread:2093] while streaming found pida: 0x00CB ; pidv: 0x00CA ac3: 1
[mp:OutputThread:2111] APID changed from 0x00cb to 0x00cd
[mp:OutputThread:2282] CMoviePlayerGui::SOFTRESET
SPTS, queue 0 extended.
/ # 
/ # pzapit --decmode
decoder mode = 0
/ # 
/ # [mp:PlayStream:2741] waiting for output thread to terminate...
[mp:ReadTSFileThread:1488] ends now.
/ # 
/ # pzapit --decmode
decoder mode = 0
/ # 
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: movieplayer2 und TS-Dateien mit AC3

Beitrag von seife »

Hm, dann muss ich mir das doch mal auf ner dbox anschauen :( hat aber aus offensichtlichen Gründen niedrige Priorität.

Das ist anscheinend eine subtile interaktion der Treiber, irgendwas mit der Reihenfolge wie die devices gestartet werden (das kann man dann nur durchprobieren) oder so...

...oder einfach was, was ich übersehen habe... ;)
bellum
bbs-Maintainer
Beiträge: 282
Registriert: Montag 23. Oktober 2006, 22:13

Re: movieplayer2 und TS-Dateien mit AC3

Beitrag von bellum »

seife hat geschrieben:Das ist anscheinend eine subtile interaktion der Treiber, irgendwas mit der Reihenfolge wie die devices gestartet werden (das kann man dann nur durchprobieren) oder so...
Wo müsste man da was durchprobieren bzw. mit dem mp1 vergleichen. Wenn dazu nur geringe Programmierkenntnisse (habe das schon ewig nicht mehr gemacht, würde aber gerne wieder reinkommen) notwendig sind kann ich das gerne machen.

Gruß bellum
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: movieplayer2 und TS-Dateien mit AC3

Beitrag von seife »

naja, ich würde vermutlich erst mal den mp1 "instrumentieren", sprich: vor jeden ioctl etc. ein debug-printf mit "jetzt kommt ioctl XXX mit argument YYY" rein.
Dann die Ausgabe von mp1 mitloggen, dann dasselbe mit mp2 und dort ebenfalls mitloggen.
dann vergleichen.

Ja, das ist anstrengend ;)
bellum
bbs-Maintainer
Beiträge: 282
Registriert: Montag 23. Oktober 2006, 22:13

Re: movieplayer2 und TS-Dateien mit AC3

Beitrag von bellum »

seife hat geschrieben:naja, ich würde vermutlich erst mal den mp1 "instrumentieren", sprich: vor jeden ioctl etc. ein debug-printf mit "jetzt kommt ioctl XXX mit argument YYY" rein.
Dann die Ausgabe von mp1 mitloggen, dann dasselbe mit mp2 und dort ebenfalls mitloggen.
dann vergleichen.
Kann ich denn die movieplayer2.cpp und movieplayer.cpp noch einfach austauschen und dann neu kompilieren oder gibt es da noch mehrere abhängige dateien?
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: movieplayer2 und TS-Dateien mit AC3

Beitrag von seife »

Ich denke, du musst einmal mit --enable-movieplayer2 und einmal ohne bauen, denn:

Code: Alles auswählen

seife@strolchi:/local/seife/git/tuxbox-apps> git grep ENABLE_MOVIEPLAYER2
tuxbox/neutrino/configure.ac:           AC_DEFINE(ENABLE_MOVIEPLAYER2,1,[include Movieplayer2 support])
tuxbox/neutrino/configure.ac:AM_CONDITIONAL(ENABLE_MOVIEPLAYER2,test "$enable_movieplayer2" = "yes")
tuxbox/neutrino/src/gui/Makefile.am:if ENABLE_MOVIEPLAYER2
tuxbox/neutrino/src/gui/moviebrowser.cpp:#ifndef ENABLE_MOVIEPLAYER2
tuxbox/neutrino/src/gui/movieplayer_setup.cpp:#ifndef ENABLE_MOVIEPLAYER2
tuxbox/neutrino/src/gui/movieplayer_setup.cpp:#ifndef ENABLE_MOVIEPLAYER2
tuxbox/neutrino/src/gui/movieplayer_setup.cpp:#ifndef ENABLE_MOVIEPLAYER2
tuxbox/neutrino/src/gui/neutrino_menu.cpp:#ifndef ENABLE_MOVIEPLAYER2
tuxbox/neutrino/src/gui/neutrino_menu.cpp:#endif /* ENABLE_MOVIEPLAYER2 */
tuxbox/neutrino/src/gui/neutrino_menu.cpp:#ifndef ENABLE_MOVIEPLAYER2
tuxbox/neutrino/src/neutrino.cpp:#ifdef ENABLE_MOVIEPLAYER2
tuxbox/neutrino/src/neutrino.cpp:#ifdef ENABLE_MOVIEPLAYER2
bellum
bbs-Maintainer
Beiträge: 282
Registriert: Montag 23. Oktober 2006, 22:13

Re: movieplayer2 und TS-Dateien mit AC3

Beitrag von bellum »

seife hat geschrieben:naja, ich würde vermutlich erst mal den mp1 "instrumentieren", sprich: vor jeden ioctl etc. ein debug-printf mit "jetzt kommt ioctl XXX mit argument YYY" rein.
Dann die Ausgabe von mp1 mitloggen, dann dasselbe mit mp2 und dort ebenfalls mitloggen.

Code: Alles auswählen

Starte MP1

[LCDFONT] FTC_Face_Requester (Fix12/Regular)
[DEBUG bellum movieplayer.cpp] CMoviePlayerGui::exec started
[movieplayer.cpp] actionKey=tsplayback
[movieplayer.cpp] executing /var/tuxbox/config/movieplayer.start.
sh: /var/tuxbox/config/movieplayer.start: not found
Datei /var/tuxbox/config/movieplayer.start fehlt. Bitte erstellen, wenn gebraucht.
File /var/tuxbox/config/movieplayer.start not found. Please create if needed.
: Success
[DEBUG bellum movieplayer.cpp] CMoviePlayerGui::PlayFile
[mp] setting parental to (0)
sh: /var/bin/parental.sh: not found

Wähle Datei

[DEBUG bellum movieplayer.cpp] updateLcd started
[mp] Startplay
[DEBUG bellum movieplayer.cpp] *mp_playFileThread
[DEBUG bellum movieplayer.cpp] *mp_playFileMain
[mp] PlayFileThread starts
[DEBUG bellum movieplayer.cpp] mp_openDVBDevices
[DEBUG bellum movieplayer.cpp] mp_probe
[DEBUG bellum movieplayer.cpp] mp_bufferReset
[DEBUG bellum movieplayer.cpp] mp_freezeAV
[DEBUG bellum movieplayer.cpp] mp_analyze
[DEBUG bellum movieplayer.cpp] mp_seekSync started
[DEBUG bellum movieplayer.cpp] mp_seekSync started
[mp] found pida[0]: 0x00CB, ac3=0
[mp] found pida[1]: 0x00CD, ac3=1
[DEBUG bellum movieplayer.cpp] mp_selectAudio
[DEBUG bellum movieplayer.cpp] mp_bufferReset
[DEBUG bellum movieplayer.cpp] mp_freezeAV
[DEBUG bellum movieplayer.cpp] get_movie_info_apid_name started
[DEBUG bellum movieplayer.cpp] get_movie_info_apid_name started

Wähle Tonspur

[DEBUG bellum movieplayer.cpp] CAPIDSelectExec::exec started
[movieplayer.cpp] apid changed to 205
[DEBUG bellum movieplayer.cpp] CMoviePlayerGui::showMovieViewer
[mp] plain TS file with vpid=(0x00CA) apid=(0x00CD) ac3=(1)
[DEBUG bellum movieplayer.cpp] checkAspectRatio
[mp] buffer (1633344 bytes) created, using (24) total segments, opt = (18)
[mp] reader thread started ...
[DEBUG bellum movieplayer.cpp] calling ioctl (vdec, VIDEO_SET_DISPLAY_FORMAT, VIDEO_CENTER_CUT_OUT)
[DEBUG bellum movieplayer.cpp] mp_switchBufferingBox started
[mp] entering player loop
[DEBUG bellum movieplayer.cpp] checkAspectRatio
[mp] buffering ...
[DEBUG bellum movieplayer.cpp] mp_switchBufferingBox started
[DEBUG bellum movieplayer.cpp] mp_stopDVBDevices
[DEBUG bellum movieplayer.cpp] calling ioctl (ctx->dmxv, DMX_STOP)
[DEBUG bellum movieplayer.cpp] calling ioctl (ctx->dmxa, DMX_STOP)
[DEBUG bellum movieplayer.cpp] calling ioctl (ctx->vdec, VIDEO_STOP)
[DEBUG bellum movieplayer.cpp] calling ioctl (ctx->adec, AUDIO_STOP)
[DEBUG bellum movieplayer.cpp] calling ioctl (ctx->dmxa, DMX_SET_PES_FILTER, &(ctx->p))
[DEBUG bellum movieplayer.cpp] calling ioctl (ctx->dmxv, DMX_SET_PES_FILTER, &(ctx->p))
[DEBUG bellum movieplayer.cpp] calling ioctl (ctx->adec, AUDIO_SET_BYPASS_MODE,0UL)
[DEBUG bellum movieplayer.cpp] mp_startDVBDevices
SPTS, queue 0 extended.
[DEBUG bellum movieplayer.cpp] calling ioctl (ctx->adec, AUDIO_PLAY)
[DEBUG bellum movieplayer.cpp] calling ioctl (ctx->vdec, VIDEO_PLAY)
[DEBUG bellum movieplayer.cpp] calling ioctl (ctx->adec, AUDIO_SET_AV_SYNC, 1UL)
[DEBUG bellum movieplayer.cpp] calling ioctl (ctx->dmxa, DMX_START)
[DEBUG bellum movieplayer.cpp] calling ioctl (ctx->dmxv, DMX_START)
[DEBUG bellum movieplayer.cpp] checkAspectRatio
[DEBUG bellum movieplayer.cpp] mp_startDVBDevices
[.. viele Wiederholungen ..]
[DEBUG bellum movieplayer.cpp] checkAspectRatio
[DEBUG bellum movieplayer.cpp] mp_startDVBDevices
[DEBUG bellum movieplayer.cpp] checkAspectRatio
[DEBUG bellum movieplayer.cpp] calling ioctl (vdec, VIDEO_SET_DISPLAY_FORMAT, VIDEO_CENTER_CUT_OUT)
[DEBUG bellum movieplayer.cpp] mp_startDVBDevices
[DEBUG bellum movieplayer.cpp] checkAspectRatio
[.. viele Wiederholungen ..]
[DEBUG bellum movieplayer.cpp] mp_startDVBDevices
[DEBUG bellum movieplayer.cpp] checkAspectRatio
[DEBUG bellum movieplayer.cpp] checkAspectRatio
[DEBUG bellum movieplayer.cpp] calling ioctl (vdec, VIDEO_SET_DISPLAY_FORMAT, VIDEO_CENTER_CUT_OUT)
[DEBUG bellum movieplayer.cpp] mp_startDVBDevices
[DEBUG bellum movieplayer.cpp] checkAspectRatio
[.. viele Wiederholungen ..]
[DEBUG bellum movieplayer.cpp] mp_startDVBDevices
[DEBUG bellum movieplayer.cpp] checkAspectRatio
[mp] ... reader thread terminated
[mp] leaving player loop ...
[mp] ... checking for another playlist item
[DEBUG bellum movieplayer.cpp] mp_closeDVBDevices
[mp] mp_playFileThread terminated
[frontend] uncommitted_switch_mode 0 auto_fec 0
PES, queue 0 normal.

Stoppe Filebrowser

[DEBUG bellum movieplayer.cpp] calling ioctl (ctx->vdec, VIDEO_STOP)
[DEBUG bellum movieplayer.cpp] calling ioctl (ctx->adec, AUDIO_STOP)
[DEBUG bellum movieplayer.cpp] calling ioctl (ctx->dmxa, DMX_STOP)
[DEBUG bellum movieplayer.cpp] calling ioctl (ctx->dmxv, DMX_STOP)
[movieplayer.cpp] executing /var/tuxbox/config/movieplayer.end.
sh: /var/tuxbox/config/movieplayer.end: not found
Datei /var/tuxbox/config/movieplayer.end fehlt. Bitte erstellen, wenn gebraucht.
File /var/tuxbox/config/movieplayer.end not found. Please create if needed.
: No such file or directory

Code: Alles auswählen

Starte MP2

[LCDFONT] FTC_Face_Requester (Fix12/Regular)
[DEBUG bellum movieplayer2.cpp] CMoviePlayerGui::exec
[movieplayer2.cpp] CMoviePlayerGui::exec actionKey='tsplayback'
[ConfigFile] Unable to open file /var/tuxbox/config/bookmarks for reading.
[mp:exec:414] executing /var/tuxbox/config/movieplayer.start
sh: /var/tuxbox/config/movieplayer.start: not found
[DEBUG bellum movieplayer2.cpp] CMoviePlayerGui::PlayFile
[mp:PlayFile:2670] setting parental to (0)
sh: /var/bin/parental.sh: not found
[DEBUG bellum movieplayer2.cpp] CMoviePlayerGui::PlayStream
[mp:PlayStream:2749] STREAMTYPE_LOCAL ''
[mp:PlayStream:2777] old path was vlc, setting to local

Wähle Datei

[mp:PlayStream:2887] Path: '/mnt/movies/record/'
[mp:PlayStream:2916] sel_filename: /mnt/movies/record/___MP2Test_SAT.1_2009-10-26_202501.001.ts
[mp:PlayStream:2925] Generated FILE MRL: /mnt/movies/record/___MP2Test_SAT.1_2009-10-26_202501.001.ts
[DEBUG bellum movieplayer2.cpp] filelist_auto_add
[DEBUG bellum movieplayer2.cpp] updateLcd
[DEBUG bellum movieplayer2.cpp] OutputThread
[mp:OutputThread:2051] ringbuffer (size 1048575) created
[mp:OutputThread:2060] mrl:/mnt/movies/record/___MP2Test_SAT.1_2009-10-26_202501.001.ts
[mp:OutputThread:2074] found TS file
[DEBUG bellum movieplayer2.cpp] checkAspectRatio
[mp:OutputThread:2348] CMoviePlayerGui::SOFTRESET
[DEBUG bellum movieplayer2.cpp] ReadTSFileThread
[DEBUG bellum movieplayer2.cpp] calling ioctl (vdec!23!, VIDEO_STOP)
[DEBUG bellum movieplayer2.cpp] mf_open
[DEBUG bellum movieplayer2.cpp] mp_close
[DEBUG bellum movieplayer2.cpp] calling ioctl (adec!24!, AUDIO_STOP)
[mp:ReadTSFileThread:1197] start, filename = '/mnt/movies/record/___MP2Test_SAT.1_2009-10-26_202501.001.ts', fd = 25, f.size = 1
[DEBUG bellum movieplayer2.cpp] calling ioctl (dmxv!21!, DMX_STOP)
[mp:ReadTSFileThread:1214] Buffering...
[DEBUG bellum movieplayer2.cpp] calling ioctl (dmxa!20!, DMX_STOP)
[DEBUG bellum movieplayer2.cpp] mf_getsize
[mp:ReadTSFileThread:1219] Number of files: 1 overall size: 295227492
[DEBUG bellum movieplayer2.cpp] calling ioctl (vdec!23!, VIDEO_PLAY)
[DEBUG bellum movieplayer2.cpp] mp_seekSync
[DEBUG bellum movieplayer2.cpp] mf_lseek
[DEBUG bellum movieplayer2.cpp] calling ioctl (adec, AUDIO_SET_BYPASS_MODE, 1UL)
[DEBUG bellum movieplayer2.cpp] mf_lseek
[mp:ReadTSFileThread:1224] file starts at 0
[DEBUG bellum movieplayer2.cpp] calling ioctl (adec!24!, AUDIO_PLAY)
[DEBUG bellum movieplayer2.cpp] calling ioctl (dmxa, DMX_SET_PES_FILTER, &p)
[DEBUG bellum movieplayer2.cpp] calling ioctl (dmxv, DMX_SET_PES_FILTER, &p)
[DEBUG bellum movieplayer2.cpp] calling ioctl (dmxv!21!, DMX_START)
SPTS, queue 0 extended.
[DEBUG bellum movieplayer2.cpp] calling ioctl (dmxa!20!, DMX_START)
[mp:ReadTSFileThread:1233] found pida: 0x00CB pidv: 0x00CA ac3: 0 numpida: 2
 => additional apids: 0x00CD
[DEBUG bellum movieplayer2.cpp] mf_lseek
[mp:ReadTSFileThread:1274] PTS at file start: 17896487
[DEBUG bellum movieplayer2.cpp] mp_seekSync
[DEBUG bellum movieplayer2.cpp] mf_lseek
[DEBUG bellum movieplayer2.cpp] mf_lseek
[mp:ReadTSFileThread:1310] PTS at file pos 295062804: 18494567 filelen: 598, bps: 491937
[DEBUG bellum movieplayer2.cpp] mf_lseek

Wähle  Tonspur

[DEBUG bellum movieplayer2.cpp] CAPIDSelectExec::exec
[movieplayer.cpp] apid changed to 205
[mp:OutputThread:2123] while streaming found pida: 0x00CB ; pidv: 0x00CA ac3: 1
[mp:OutputThread:2141] APID changed from 0x00cb to 0x00cd
[mp:OutputThread:2348] CMoviePlayerGui::SOFTRESET
[DEBUG bellum movieplayer2.cpp] updateLcd
[DEBUG bellum movieplayer2.cpp] calling ioctl (vdec!23!, VIDEO_STOP)
[DEBUG bellum movieplayer2.cpp] calling ioctl (adec!24!, AUDIO_STOP)
[DEBUG bellum movieplayer2.cpp] calling ioctl (dmxv!21!, DMX_STOP)
[DEBUG bellum movieplayer2.cpp] calling ioctl (dmxa!20!, DMX_STOP)
[DEBUG bellum movieplayer2.cpp] calling ioctl (vdec!23!, VIDEO_PLAY)
[DEBUG bellum movieplayer2.cpp] calling ioctl (adec, AUDIO_SET_BYPASS_MODE, 0UL)
[DEBUG bellum movieplayer2.cpp] calling ioctl (adec!24!, AUDIO_PLAY)
[DEBUG bellum movieplayer2.cpp] calling ioctl (dmxa, DMX_SET_PES_FILTER, &p)
[DEBUG bellum movieplayer2.cpp] calling ioctl (dmxv, DMX_SET_PES_FILTER, &p)
[DEBUG bellum movieplayer2.cpp] calling ioctl (dmxv!21!, DMX_START)
SPTS, queue 0 extended.

[DEBUG bellum movieplayer2.cpp] calling ioctl (dmxa!20!, DMX_START)
[DEBUG bellum movieplayer2.cpp] checkAspectRatio
[DEBUG bellum movieplayer2.cpp] calling ioctl (vdec, VIDEO_SET_DISPLAY_FORMAT, VIDEO_CENTER_CUT_OUT)
[DEBUG bellum movieplayer2.cpp] checkAspectRatio

Versuche MP2 nach schwarzem Bildschirm zu stoppen

[mp:PlayStream:2864] waiting for output thread to terminate...
[DEBUG bellum movieplayer2.cpp] mp_close
[mp:ReadTSFileThread:1508] ends now.

Neutrino hängt und Bildschirm schwarz
seife hat geschrieben:dann vergleichen.
Das solltest doch Du machen, da mir im Moment das nicht wirklich etwas sagt...
seife hat geschrieben:Ja, das ist anstrengend ;)
Sagen wir mal, es ist Fleißarbeit...
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: movieplayer2 und TS-Dateien mit AC3

Beitrag von seife »

mp1:

Code: Alles auswählen

[DEBUG bellum movieplayer.cpp] calling ioctl (ctx->dmxv, DMX_STOP)
[DEBUG bellum movieplayer.cpp] calling ioctl (ctx->dmxa, DMX_STOP)
[DEBUG bellum movieplayer.cpp] calling ioctl (ctx->vdec, VIDEO_STOP)
[DEBUG bellum movieplayer.cpp] calling ioctl (ctx->adec, AUDIO_STOP)
[DEBUG bellum movieplayer.cpp] calling ioctl (ctx->dmxa, DMX_SET_PES_FILTER, &(ctx->p))
[DEBUG bellum movieplayer.cpp] calling ioctl (ctx->dmxv, DMX_SET_PES_FILTER, &(ctx->p))
[DEBUG bellum movieplayer.cpp] calling ioctl (ctx->adec, AUDIO_SET_BYPASS_MODE,0UL)
[DEBUG bellum movieplayer.cpp] mp_startDVBDevices
SPTS, queue 0 extended.
[DEBUG bellum movieplayer.cpp] calling ioctl (ctx->adec, AUDIO_PLAY)
[DEBUG bellum movieplayer.cpp] calling ioctl (ctx->vdec, VIDEO_PLAY)
[DEBUG bellum movieplayer.cpp] calling ioctl (ctx->adec, AUDIO_SET_AV_SYNC, 1UL)
[DEBUG bellum movieplayer.cpp] calling ioctl (ctx->dmxa, DMX_START)
[DEBUG bellum movieplayer.cpp] calling ioctl (ctx->dmxv, DMX_START)
mp2:

Code: Alles auswählen

[DEBUG bellum movieplayer2.cpp] calling ioctl (vdec!23!, VIDEO_STOP)
[DEBUG bellum movieplayer2.cpp] calling ioctl (adec!24!, AUDIO_STOP)
[DEBUG bellum movieplayer2.cpp] calling ioctl (dmxv!21!, DMX_STOP)
[DEBUG bellum movieplayer2.cpp] calling ioctl (dmxa!20!, DMX_STOP)
[DEBUG bellum movieplayer2.cpp] calling ioctl (vdec!23!, VIDEO_PLAY)
[DEBUG bellum movieplayer2.cpp] calling ioctl (adec, AUDIO_SET_BYPASS_MODE, 0UL)
[DEBUG bellum movieplayer2.cpp] calling ioctl (adec!24!, AUDIO_PLAY)
[DEBUG bellum movieplayer2.cpp] calling ioctl (dmxa, DMX_SET_PES_FILTER, &p)
[DEBUG bellum movieplayer2.cpp] calling ioctl (dmxv, DMX_SET_PES_FILTER, &p)
[DEBUG bellum movieplayer2.cpp] calling ioctl (dmxv!21!, DMX_START)
SPTS, queue 0 extended.
[DEBUG bellum movieplayer2.cpp] calling ioctl (dmxa!20!, DMX_START)
Jetzt könntest du versuchen, das in dieselbe Reihenfolge zu bringen, also z.B. das SET_BYPASS_MODE hinter die DMX_PES_FILTER und AUDIO/VIDEO_PLAY nach die SET_PES_FILTER, aber vor SET_BYPASS_MODE. Dann noch dmxa vor dmxv starten.

Teilweise war das in dem Testpatch schon drin, aber ob alles genau so war, weiss ich nicht.

Dann ist da noch der AUDIO_SET_AV_SYNC, (der auf der dbox eigentlich so nicht funktionieren kann, weil der erst dann an den avia durchgereicht wird, wenn der demux gestartet wurde, aber wer weiss), den du mal einbauen kannst.

Evtl. ist es aber auch was ganz anderes, evtl. schreibt der mp2 schon ins device, vor die demuxe gestartet sind und der mp1 nur danach, und das verwirrt den passthrough code, oder irgend sowas...
bellum
bbs-Maintainer
Beiträge: 282
Registriert: Montag 23. Oktober 2006, 22:13

Re: movieplayer2 und TS-Dateien mit AC3

Beitrag von bellum »

seife hat geschrieben:Jetzt könntest du versuchen, das in dieselbe Reihenfolge zu bringen, also z.B. das SET_BYPASS_MODE hinter die DMX_PES_FILTER und AUDIO/VIDEO_PLAY nach die SET_PES_FILTER, aber vor SET_BYPASS_MODE. Dann noch dmxa vor dmxv starten.

Teilweise war das in dem Testpatch schon drin, aber ob alles genau so war, weiss ich nicht.

Dann ist da noch der AUDIO_SET_AV_SYNC, (der auf der dbox eigentlich so nicht funktionieren kann, weil der erst dann an den avia durchgereicht wird, wenn der demux gestartet wurde, aber wer weiss), den du mal einbauen kannst.
Leider hat das umsortieren auch nicht geholfen :(
Der Fehler bleibt. Seltsam ist das Stereo Ton funktioniert und bei AC3 nach dem 2. checkAspectRatio schluss ist.
Den ioctl (vdec, VIDEO_SET_DISPLAY_FORMAT, VIDEO_CENTER_CUT_OUT) habe ich auch schon mal auskommentiert, aber das hat auch nichts gebracht. Nach dem 2. checkAspectRatio ist schluss und nichts geht mehr.

Code: Alles auswählen

Starte mp2

[LCDFONT] FTC_Face_Requester (Fix12/Regular)
[mp:exec:349] [DEBUG bellum movieplayer2.cpp] CMoviePlayerGui::exec
[movieplayer2.cpp] CMoviePlayerGui::exec actionKey='tsplayback'
[mp:exec:414] executing /var/tuxbox/config/movieplayer.start
sh: /var/tuxbox/config/movieplayer.start: not found
[mp:PlayFile:2667] [DEBUG bellum movieplayer2.cpp] CMoviePlayerGui::PlayFile
[mp:PlayFile:2673] setting parental to (0)
sh: /var/bin/parental.sh: not found
[mp:PlayStream:2695] [DEBUG bellum movieplayer2.cpp] CMoviePlayerGui::PlayStream
[mp:PlayStream:2752] STREAMTYPE_LOCAL ''
[mp:PlayStream:2780] old path was vlc, setting to local

Wähle Datei

[mp:PlayStream:2890] Path: '/mnt/movies/record/'
[mp:PlayStream:2919] sel_filename: /mnt/movies/record/___MP2Test_SAT.1_2009-10-26_202501.001.ts
[mp:PlayStream:2928] Generated FILE MRL: /mnt/movies/record/___MP2Test_SAT.1_2009-10-26_202501.001.ts
[mp:filelist_auto_add:3777] [DEBUG bellum movieplayer2.cpp] filelist_auto_add
[mp:updateLcd:2481] [DEBUG bellum movieplayer2.cpp] updateLcd
[mp:OutputThread:2024] [DEBUG bellum movieplayer2.cpp] OutputThread
[mp:OutputThread:2051] ringbuffer (size 1048575) created
[mp:OutputThread:2060] mrl:/mnt/movies/record/___MP2Test_SAT.1_2009-10-26_202501.001.ts
[mp:OutputThread:2074] found TS file
[mp:ReadTSFileThread:1192] [DEBUG bellum movieplayer2.cpp] ReadTSFileThread
[mp:checkAspectRatio:3432] [DEBUG bellum movieplayer2.cpp] checkAspectRatio
[mp:mf_open:2576] [DEBUG bellum movieplayer2.cpp] mf_open
[mp:mf_close:2591] [DEBUG bellum movieplayer2.cpp] mp_close
[mp:OutputThread:2348] CMoviePlayerGui::SOFTRESET
[mp:ReadTSFileThread:1197] start, filename = '/mnt/movies/record/___MP2Test_SAT.1_2009-10-26_202501.001.ts', fd = 25, f.size = 1
[mp:OutputThread:2349] [DEBUG bellum movieplayer2.cpp] calling ioctl (dmxv!21!, DMX_STOP)
[mp:OutputThread:2351] [DEBUG bellum movieplayer2.cpp] calling ioctl (dmxa!20!, DMX_STOP)
[mp:ReadTSFileThread:1214] Buffering...
[mp:mf_getsize:2603] [DEBUG bellum movieplayer2.cpp] mf_getsize
[mp:ReadTSFileThread:1219] Number of files: 1 overall size: 295227492
[mp:OutputThread:2357] [DEBUG bellum movieplayer2.cpp] calling ioctl (vdec!23!, VIDEO_STOP)
[mp:OutputThread:2360] [DEBUG bellum movieplayer2.cpp] calling ioctl (adec!24!, AUDIO_STOP)
[mp:mp_seekSync:2510] [DEBUG bellum movieplayer2.cpp] mp_seekSync
[mp:OutputThread:2364] [DEBUG bellum movieplayer2.cpp] calling ioctl (dmxa, DMX_SET_PES_FILTER, &p)
[mp:mf_lseek:2616] [DEBUG bellum movieplayer2.cpp] mf_lseek
[mp:OutputThread:2368] [DEBUG bellum movieplayer2.cpp] calling ioctl (dmxv, DMX_SET_PES_FILTER, &p)
[mp:mf_lseek:2616] [DEBUG bellum movieplayer2.cpp] mf_lseek
[mp:ReadTSFileThread:1224] file starts at 0
[mp:OutputThread:2395] [DEBUG bellum movieplayer2.cpp] calling ioctl (adec, AUDIO_SET_BYPASS_MODE, 1UL)
[mp:OutputThread:2398] [DEBUG bellum movieplayer2.cpp] calling ioctl (vdec!23!, VIDEO_PLAY)
[mp:OutputThread:2401] [DEBUG bellum movieplayer2.cpp] calling ioctl (adec!24!, AUDIO_PLAY)
[mp:OutputThread:2403] [DEBUG bellum movieplayer2.cpp] calling ioctl (adec, AUDIO_SET_AV_SYNC, 1UL)
[mp:OutputThread:2405] [DEBUG bellum movieplayer2.cpp] calling ioctl (dmxv!21!, DMX_START)
SPTS, queue 0 extended.

[mp:OutputThread:2407] [DEBUG bellum movieplayer2.cpp] calling ioctl (dmxa!20!, DMX_START)
[mp:ReadTSFileThread:1233] found pida: 0x00CB pidv: 0x00CA ac3: 0 numpida: 2
 => additional apids: 0x00CD
[mp:mf_lseek:2616] [DEBUG bellum movieplayer2.cpp] mf_lseek
[mp:ReadTSFileThread:1274] PTS at file start: 17896487
[mp:mp_seekSync:2510] [DEBUG bellum movieplayer2.cpp] mp_seekSync
[mp:mf_lseek:2616] [DEBUG bellum movieplayer2.cpp] mf_lseek
[mp:mf_lseek:2616] [DEBUG bellum movieplayer2.cpp] mf_lseek
[mp:ReadTSFileThread:1310] PTS at file pos 295062804: 18494567 filelen: 598, bps: 491937
[mp:mf_lseek:2616] [DEBUG bellum movieplayer2.cpp] mf_lseek

Wähle Ton Stereo

[mp:exec:259] [DEBUG bellum movieplayer2.cpp] CAPIDSelectExec::exec
[movieplayer.cpp] apid changed to 203
[mp:OutputThread:2123] while streaming found pida: 0x00CB ; pidv: 0x00CA ac3: 0
[mp:OutputThread:2141] APID changed from 0x00cb to 0x00cb
[mp:updateLcd:2481] [DEBUG bellum movieplayer2.cpp] updateLcd
[mp:OutputThread:2348] CMoviePlayerGui::SOFTRESET
[mp:OutputThread:2349] [DEBUG bellum movieplayer2.cpp] calling ioctl (dmxv!21!, DMX_STOP)
[mp:OutputThread:2351] [DEBUG bellum movieplayer2.cpp] calling ioctl (dmxa!20!, DMX_STOP)
[mp:OutputThread:2357] [DEBUG bellum movieplayer2.cpp] calling ioctl (vdec!23!, VIDEO_STOP)
[mp:OutputThread:2360] [DEBUG bellum movieplayer2.cpp] calling ioctl (adec!24!, AUDIO_STOP)
[mp:OutputThread:2364] [DEBUG bellum movieplayer2.cpp] calling ioctl (dmxa, DMX_SET_PES_FILTER, &p)
[mp:OutputThread:2368] [DEBUG bellum movieplayer2.cpp] calling ioctl (dmxv, DMX_SET_PES_FILTER, &p)
[mp:OutputThread:2395] [DEBUG bellum movieplayer2.cpp] calling ioctl (adec, AUDIO_SET_BYPASS_MODE, 1UL)
[mp:OutputThread:2398] [DEBUG bellum movieplayer2.cpp] calling ioctl (vdec!23!, VIDEO_PLAY)
[mp:OutputThread:2401] [DEBUG bellum movieplayer2.cpp] calling ioctl (adec!24!, AUDIO_PLAY)
[mp:OutputThread:2403] [DEBUG bellum movieplayer2.cpp] calling ioctl (adec, AUDIO_SET_AV_SYNC, 1UL)
[mp:OutputThread:2405] [DEBUG bellum movieplayer2.cpp] calling ioctl (dmxv!21!, DMX_START)
SPTS, queue 0 extended.

[mp:OutputThread:2407] [DEBUG bellum movieplayer2.cpp] calling ioctl (dmxa!20!, DMX_START)
[mp:checkAspectRatio:3432] [DEBUG bellum movieplayer2.cpp] checkAspectRatio
[mp:checkAspectRatio:3432] [DEBUG bellum movieplayer2.cpp] checkAspectRatio
[.. viele Wiederholungen ..]
[mp:checkAspectRatio:3432] [DEBUG bellum movieplayer2.cpp] checkAspectRatio
[mp:checkAspectRatio:3432] [DEBUG bellum movieplayer2.cpp] checkAspectRatio
[mp:PlayStream:2867] waiting for output thread to terminate...
[mp:mf_close:2591] [DEBUG bellum movieplayer2.cpp] mp_close
[mp:ReadTSFileThread:1508] ends now.
[mp:checkAspectRatio:3432] [DEBUG bellum movieplayer2.cpp] checkAspectRatio
[mp:OutputThread:2442] [DEBUG bellum movieplayer2.cpp] calling ioctl (vdec!23!, VIDEO_STOP)
[mp:OutputThread:2445] [DEBUG bellum movieplayer2.cpp] calling ioctl (adec!24!, AUDIO_STOP)
[mp:OutputThread:2447] [DEBUG bellum movieplayer2.cpp] calling ioctl (dmxv!21!, DMX_STOP)
[mp:OutputThread:2449] [DEBUG bellum movieplayer2.cpp] calling ioctl (dmxa!20!, DMX_STOP)
[mp:OutputThread:2465] Waiting for input thread to stop
[mp:OutputThread:2473] ends here.
[mp:PlayStream:2870] done
[frontend] uncommitted_switch_mode 0 auto_fec 0
PES, queue 0 normal.

[mp:PlayStream:3420] waiting for output thread
[mp:PlayStream:3425] ends here
[mp:exec:500] executing /var/tuxbox/config/movieplayer.end
sh: /var/tuxbox/config/movieplayer.end: not found

[mp:exec:349] [DEBUG bellum movieplayer2.cpp] CMoviePlayerGui::exec
[movieplayer2.cpp] CMoviePlayerGui::exec actionKey='tsplayback'
[mp:exec:414] executing /var/tuxbox/config/movieplayer.start
sh: /var/tuxbox/config/movieplayer.start: not found
[mp:PlayFile:2667] [DEBUG bellum movieplayer2.cpp] CMoviePlayerGui::PlayFile
[mp:PlayStream:2695] [DEBUG bellum movieplayer2.cpp] CMoviePlayerGui::PlayStream
[mp:PlayStream:2752] STREAMTYPE_LOCAL ''
[mp:PlayStream:2890] Path: '/mnt/movies/record/'
[mp:PlayStream:2919] sel_filename: /mnt/movies/record/___MP2Test_SAT.1_2009-10-26_202501.001.ts
[mp:PlayStream:2928] Generated FILE MRL: /mnt/movies/record/___MP2Test_SAT.1_2009-10-26_202501.001.ts
[mp:filelist_auto_add:3777] [DEBUG bellum movieplayer2.cpp] filelist_auto_add
[mp:updateLcd:2481] [DEBUG bellum movieplayer2.cpp] updateLcd
[mp:OutputThread:2024] [DEBUG bellum movieplayer2.cpp] OutputThread
[mp:OutputThread:2051] ringbuffer (size 1048575) created
[mp:OutputThread:2060] mrl:/mnt/movies/record/___MP2Test_SAT.1_2009-10-26_202501.001.ts
[mp:OutputThread:2074] found TS file
[mp:ReadTSFileThread:1192] [DEBUG bellum movieplayer2.cpp] ReadTSFileThread
[mp:checkAspectRatio:3432] [DEBUG bellum movieplayer2.cpp] checkAspectRatio
[mp:OutputThread:2348] CMoviePlayerGui::SOFTRESET
[mp:OutputThread:2349] [DEBUG bellum movieplayer2.cpp] calling ioctl (dmxv!21!, DMX_STOP)
[mp:mf_open:2576] [DEBUG bellum movieplayer2.cpp] mf_open
[mp:mf_close:2591] [DEBUG bellum movieplayer2.cpp] mp_close
[mp:OutputThread:2351] [DEBUG bellum movieplayer2.cpp] calling ioctl (dmxa!20!, DMX_STOP)
[mp:ReadTSFileThread:1197] start, filename = '/mnt/movies/record/___MP2Test_SAT.1_2009-10-26_202501.001.ts', fd = 25, f.size = 1
[mp:OutputThread:2357] [DEBUG bellum movieplayer2.cpp] calling ioctl (vdec!23!, VIDEO_STOP)
[mp:OutputThread:2360] [DEBUG bellum movieplayer2.cpp] calling ioctl (adec!24!, AUDIO_STOP)
[mp:ReadTSFileThread:1214] Buffering...
[mp:mf_getsize:2603] [DEBUG bellum movieplayer2.cpp] mf_getsize
[mp:ReadTSFileThread:1219] Number of files: 1 overall size: 295227492
[mp:OutputThread:2364] [DEBUG bellum movieplayer2.cpp] calling ioctl (dmxa, DMX_SET_PES_FILTER, &p)
[mp:mp_seekSync:2510] [DEBUG bellum movieplayer2.cpp] mp_seekSync
[mp:OutputThread:2368] [DEBUG bellum movieplayer2.cpp] calling ioctl (dmxv, DMX_SET_PES_FILTER, &p)
[mp:mf_lseek:2616] [DEBUG bellum movieplayer2.cpp] mf_lseek
[mp:mf_lseek:2616] [DEBUG bellum movieplayer2.cpp] mf_lseek
[mp:ReadTSFileThread:1224] file starts at 0
[mp:OutputThread:2395] [DEBUG bellum movieplayer2.cpp] calling ioctl (adec, AUDIO_SET_BYPASS_MODE, 1UL)
[mp:OutputThread:2398] [DEBUG bellum movieplayer2.cpp] calling ioctl (vdec!23!, VIDEO_PLAY)
[mp:OutputThread:2401] [DEBUG bellum movieplayer2.cpp] calling ioctl (adec!24!, AUDIO_PLAY)
[mp:OutputThread:2403] [DEBUG bellum movieplayer2.cpp] calling ioctl (adec, AUDIO_SET_AV_SYNC, 1UL)
[mp:ReadTSFileThread:1233] found pida: 0x00CB pidv: 0x00CA ac3: 0 numpida: 2
[mp:OutputThread:2405] [DEBUG bellum movieplayer2.cpp] calling ioctl (dmxv!21!, DMX_START)
SPTS, queue 0 extended.

 => additional apids: 0x00CD
[mp:OutputThread:2407] [DEBUG bellum movieplayer2.cpp] calling ioctl (dmxa!20!, DMX_START)
[mp:mf_lseek:2616] [DEBUG bellum movieplayer2.cpp] mf_lseek
[mp:ReadTSFileThread:1274] PTS at file start: 17896487
[mp:mp_seekSync:2510] [DEBUG bellum movieplayer2.cpp] mp_seekSync
[mp:mf_lseek:2616] [DEBUG bellum movieplayer2.cpp] mf_lseek
[mp:mf_lseek:2616] [DEBUG bellum movieplayer2.cpp] mf_lseek
[mp:ReadTSFileThread:1310] PTS at file pos 295062804: 18494567 filelen: 598, bps: 491937
[mp:mf_lseek:2616] [DEBUG bellum movieplayer2.cpp] mf_lseek

Wähle Ton AC3

[mp:exec:259] [DEBUG bellum movieplayer2.cpp] CAPIDSelectExec::exec
[movieplayer.cpp] apid changed to 205
[mp:OutputThread:2123] while streaming found pida: 0x00CB ; pidv: 0x00CA ac3: 1
[mp:OutputThread:2141] APID changed from 0x00cb to 0x00cd
[mp:OutputThread:2348] CMoviePlayerGui::SOFTRESET
[mp:OutputThread:2349] [DEBUG bellum movieplayer2.cpp] calling ioctl (dmxv!21!, DMX_STOP)
[mp:OutputThread:2351] [DEBUG bellum movieplayer2.cpp] calling ioctl (dmxa!20!, DMX_STOP)
[mp:updateLcd:2481] [DEBUG bellum movieplayer2.cpp] updateLcd
[mp:OutputThread:2357] [DEBUG bellum movieplayer2.cpp] calling ioctl (vdec!23!, VIDEO_STOP)
[mp:OutputThread:2360] [DEBUG bellum movieplayer2.cpp] calling ioctl (adec!24!, AUDIO_STOP)
[mp:OutputThread:2364] [DEBUG bellum movieplayer2.cpp] calling ioctl (dmxa, DMX_SET_PES_FILTER, &p)
[mp:OutputThread:2368] [DEBUG bellum movieplayer2.cpp] calling ioctl (dmxv, DMX_SET_PES_FILTER, &p)
[mp:OutputThread:2390] [DEBUG bellum movieplayer2.cpp] calling ioctl (adec, AUDIO_SET_BYPASS_MODE, 0UL)
[mp:OutputThread:2398] [DEBUG bellum movieplayer2.cpp] calling ioctl (vdec!23!, VIDEO_PLAY)
[mp:OutputThread:2401] [DEBUG bellum movieplayer2.cpp] calling ioctl (adec!24!, AUDIO_PLAY)
[mp:OutputThread:2403] [DEBUG bellum movieplayer2.cpp] calling ioctl (adec, AUDIO_SET_AV_SYNC, 1UL)
[mp:OutputThread:2405] [DEBUG bellum movieplayer2.cpp] calling ioctl (dmxv!21!, DMX_START)
SPTS, queue 0 extended.

[mp:OutputThread:2407] [DEBUG bellum movieplayer2.cpp] calling ioctl (dmxa!20!, DMX_START)
[mp:checkAspectRatio:3432] [DEBUG bellum movieplayer2.cpp] checkAspectRatio
[mp:checkAspectRatio:3445] [DEBUG bellum movieplayer2.cpp] calling ioctl (vdec, VIDEO_SET_DISPLAY_FORMAT, VIDEO_CENTER_CUT_OUT)
[mp:checkAspectRatio:3432] [DEBUG bellum movieplayer2.cpp] checkAspectRatio
[mp:PlayStream:2867] waiting for output thread to terminate...
[mp:mf_close:2591] [DEBUG bellum movieplayer2.cpp] mp_close
[mp:ReadTSFileThread:1508] ends now.
seife hat geschrieben:Evtl. ist es aber auch was ganz anderes, evtl. schreibt der mp2 schon ins device, vor die demuxe gestartet sind und der mp1 nur danach, und das verwirrt den passthrough code, oder irgend sowas...
Die Worte hör ich wohl, allein mir feht das know how.
Könntest Du Dir das nicht doch mal anschauen?

Danke und Gruß bellum
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: movieplayer2 und TS-Dateien mit AC3

Beitrag von seife »

Ja, aber halt erst dann, wenn ich mal wieder die Museumshardware anschliesse ;)
bellum
bbs-Maintainer
Beiträge: 282
Registriert: Montag 23. Oktober 2006, 22:13

Re: movieplayer2 und TS-Dateien mit AC3

Beitrag von bellum »

seife hat geschrieben:Evtl. ist es aber auch was ganz anderes, evtl. schreibt der mp2 schon ins device, vor die demuxe gestartet sind und der mp1 nur danach, und das verwirrt den passthrough code, oder irgend sowas...
Einen kleinen Schritt bin ich nun weiter und habe zumindestens einen prinzipiellen Machbarkeitsbeweis.
Ändere ich im OutputThread folgendes

Code: Alles auswählen

//p.pid = pida;
INFO("[DEBUG bellum movieplayer2.cpp] about to set p.pid = 205 (AC3)\n");
p.pid = 205;
INFO("[DEBUG bellum movieplayer2.cpp] about to set g_currentac3 = 1\n");
g_currentac3 = 1;
und wähle dann im MP2 die Stereo Spur aus so wird dann tatsächlich auch korrekt die AC3-Tonspur abgespielt.

Ohne dass ich jetzt Beweise im Code gefunden habe, denke ich liegt es laienhaft ausgedrückt daran, dass der bei der Tonspurauswahl der AVIA600 schon initialisiert ist und man dann im laufenden Betrieb versucht den Ton umzuschalten, was bei der AVIA600vb022 bekanntlich im SPTS Modus nicht funktioniert.

Muss denn zum Bestimmen der Tonspuren in einer TS-Datei der AVIA600 schon initialisiert sein?
Falls nein, was müsste man ändern damit die Tonspurauswahl ganz zu Anfang gemacht würde.
Kann es sein, dass da die Threads OutputThread und ReadTSFileThread nicht mit einander reden bzw. aufeinander warten?

Ich hoffe meine Ergebnisse helfen bei der Problemlösung weiter, denn es lohnt sich. Das Vor- und Zurückspringen bei AC3 funktioniert mit dem MP2 wesentlich besser als beim MP1

Gruß bellum
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: movieplayer2 und TS-Dateien mit AC3

Beitrag von seife »

Funktioniert es beim MP1 denn, wenn du erst mit normaler Tonspur startest und dann auf AC3 umschaltest? Oder musst du da von Anfang an AC3 ausgewählt haben, damit es funktioniert?
bellum
bbs-Maintainer
Beiträge: 282
Registriert: Montag 23. Oktober 2006, 22:13

Re: movieplayer2 und TS-Dateien mit AC3

Beitrag von bellum »

seife hat geschrieben:Funktioniert es beim MP1 denn, wenn du erst mit normaler Tonspur startest und dann auf AC3 umschaltest? Oder musst du da von Anfang an AC3 ausgewählt haben, damit es funktioniert?
Startet man beim MP1 mit Stereo und schaltet dann auf AC3 um so bleibt Bild und Ton stehen. Zurück zu Stereo kommt man nicht mehr aber man kann den MP1 wieder beenden, er stürzt also nicht ab.
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: movieplayer2 und TS-Dateien mit AC3

Beitrag von seife »

Hm.
Dann müsste man im MP2 einbauen, das der output-Thread erst dann losläuft, wenn der Audio-Stream ausgewählt ist oder so ähnlich.

Wobei - eigentlich denke ich, dass er das auch so macht, zumindest bei TS-Files.

Keine Ahnung, woran das genau liegt. Zum Glück hat nur die dbox damit solche Probleme ;)
bellum
bbs-Maintainer
Beiträge: 282
Registriert: Montag 23. Oktober 2006, 22:13

Re: movieplayer2 und TS-Dateien mit AC3

Beitrag von bellum »

seife hat geschrieben:Hm.
Dann müsste man im MP2 einbauen, das der output-Thread erst dann losläuft, wenn der Audio-Stream ausgewählt ist oder so ähnlich.

Wobei - eigentlich denke ich, dass er das auch so macht, zumindest bei TS-Files.;)
So wie ich das sehe startet der Output-Thread den ReadTSFileThread und der macht dann erst die Audio auswahl.
Und da ist

Code: Alles auswählen

	if((dmxa = open(DMX, O_RDWR | O_NONBLOCK)) < 0 ||
	   (dmxv = open(DMX, O_RDWR | O_NONBLOCK)) < 0 ||
	   (dvr  = open(DVR, O_WRONLY /* | O_NONBLOCK */)) < 0 ||
#ifndef HAVE_TRIPLEDRAGON
	   (vdec = open(VDEC, O_RDWR | O_NONBLOCK)) < 0 ||
#endif
	   (adec = open(ADEC, O_RDWR | O_NONBLOCK)) < 0)
	{
		INFO("some device failed (%m) dmxa:%d dmxv:%d dvr:%d adec:%d vdec:%d\n",dmxa,dmxv,dvr,adec,vdec);
		failed = true;
	}

#ifdef HAVE_TRIPLEDRAGON
	if (ioctl(dmxa, DEMUX_SELECT_SOURCE, INPUT_FROM_PVR) < 0)
		perror("DEMUX_SELECT_SOURCE INPUT_FROM_PVR");
#endif
schon längst durch. Ich vermute die Audio-Auswahl müsste vor dem obigen Code schon gemacht werden.
seife hat geschrieben:Keine Ahnung, woran das genau liegt. Zum Glück hat nur die dbox damit solche Probleme ;)
Das hilft mir jetzt nicht wirklich :(
bellum
bbs-Maintainer
Beiträge: 282
Registriert: Montag 23. Oktober 2006, 22:13

Re: movieplayer2 und TS-Dateien mit AC3

Beitrag von bellum »

seife hat geschrieben:
bellum hat geschrieben:
seife hat geschrieben:Evtl. ist es aber auch was ganz anderes, evtl. schreibt der mp2 schon ins device, vor die demuxe gestartet sind und der mp1 nur danach, und das verwirrt den passthrough code, oder irgend sowas...
Die Worte hör ich wohl, allein mir feht das know how.
Könntest Du Dir das nicht doch mal anschauen?

Danke und Gruß bellum
Ja, aber halt erst dann, wenn ich mal wieder die Museumshardware anschliesse ;)
nachobenhol, es ist doch bald Weihnachten... :)