No subject
Tue Nov 17 13:52:17 UTC 2009
for audio tracks generated by Avformatdecoder.
I submitted my suggested patch to the ticket.
What are your thoughts ?
On Sat, Dec 5, 2009 at 2:16 PM, MythTV <mythtv at cvs.mythtv.org> wrote:
> #7638: DVD: wrong audio track selected when switching
>
> ------------------------------------+------------------------------------=
---
> Reporter: linux@=85 | Owner: skamithi
> Type: defect | Status: accepted
> Priority: minor | Milestone: unknown
> Component: MythTV - General | Version: unknown
> Severity: medium | Mlocked: 0
>
> ------------------------------------+------------------------------------=
---
>
> Comment(by linux@=85):
>
> Hi,
>
> dvd-audio-stream-ordering-v2.patch does not work for me, namely because
> dvdnav_get_audio_logical_stream does not work as expected. If you feed i=
t
> the stream id the output will always be -1 (from looking at the code I
> guess it only maps some internal numbers as the input stream id must be =
<=3D
> 8 to get anything besides -1). So in fact your patch will behave exactly
> as before my original patch as dvd_track_num will always be set to -1.
>
> In my second patch (dvd-audio-stream-ordering.dpatch) I have actually pu=
t
> the functionality that one thinks dvdnav_get_audio_logical_stream provid=
es
> in the function dvd_get_logical_audio_stream_id. It will map the stream
> ids to their logical track nos (the disc I am always having problems wit=
h
> has a mix of AC3 and DTS tracks and the problem is that the AC3 tracks
> have a stream id range between 128 and 135 while DTS tracks start a 136;
> so in my example, the second logical track has stream id 137 which used =
to
> be put at the end of the track map by simple sorting).
>
> I personally think that providing the dvd-specific comparator for the
> sorting a simpler solution now as it keeps irrelevant dvd-specific stuff
> out of StreamInfo and its operator which seems to be a more generic
> structure. The sorting only happens in the DVD case anyway so having a D=
VD
> specific comparator should not be a problem.
>
> As a sidenote, I was also wondering of whether the helper functions I
> added belong into avformatdecoder.cpp or DVDRingbuffer.h and it should b=
e
> no problem to move them there.
>
> Best wishes,
>
> Martin.
>
> --
> Ticket URL: <http://svn.mythtv.org/trac/ticket/7638#comment:6>
> MythTV <http://www.mythtv.org/>
> MythTV
> _______________________________________________
> mythtv-commits mailing list
> mythtv-commits at mythtv.org
> http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-commits
>
--000e0cdf75f8bff001047a6e2b5f
Content-Type: text/html; charset=windows-1252
Content-Transfer-Encoding: quoted-printable
<br>i get your point about not populating the streaminfo field with extra f=
ields.<br><br>How about replacing the physical stream id with a logical str=
eam id for during the creation of the audio track Streaminfo,=A0 then you c=
an go ahead and fix the dvdnav physical id -> logical id conversion code=
?=A0 I'd fix the dvdnav code myself, but I don't have much time to =
look into it.<br>
<br>This way=A0 we keep irrelevant dvd specific stuff out of streaminfo,=A0=
like you pointed out,=A0 and also avoid code duplication like I suggest.<b=
r><br><br>From my search of the code, I don't see any call to Streaminf=
o's stream_id for audio tracks generated by Avformatdecoder.<br>
I submitted my suggested patch to the ticket. <br><br>What are your thought=
s ?<br><br><br><div class=3D"gmail_quote">On Sat, Dec 5, 2009 at 2:16 PM, M=
ythTV <span dir=3D"ltr"><<a href=3D"mailto:mythtv at cvs.mythtv.org">mythtv=
@cvs.mythtv.org</a>></span> wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"border-left: 1px solid rgb(204, =
204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div class=3D"im"=
>#7638: DVD: wrong audio track selected when switching<br>
------------------------------------+--------------------------------------=
-<br>
=A0Reporter: =A0linux@=85 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 | =A0 =A0 =A0 Own=
er: =A0skamithi<br>
=A0 =A0 Type: =A0defect =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0| =A0 =A0 =A0St=
atus: =A0accepted<br>
=A0Priority: =A0minor =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 | =A0 Milestone: =
=A0unknown<br>
Component: =A0MythTV - General =A0 =A0 =A0 =A0| =A0 =A0 Version: =A0unknown=
<br>
=A0Severity: =A0medium =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0| =A0 =A0 Mlocked=
: =A00<br>
------------------------------------+--------------------------------------=
-<br>
<br>
</div>Comment(by linux@=85):<br>
<br>
=A0Hi,<br>
<br>
=A0dvd-audio-stream-ordering-v2.patch does not work for me, namely because<=
br>
=A0dvdnav_get_audio_logical_stream does not work as expected. If you feed i=
t<br>
=A0the stream id the output will always be -1 (from looking at the code I<b=
r>
=A0guess it only maps some internal numbers as the input stream id must be =
<=3D<br>
=A08 to get anything besides -1). So in fact your patch will behave exactly=
<br>
=A0as before my original patch as dvd_track_num will always be set to -1.<b=
r>
<br>
=A0In my second patch (dvd-audio-stream-ordering.dpatch) I have actually pu=
t<br>
=A0the functionality that one thinks dvdnav_get_audio_logical_stream provid=
es<br>
=A0in the function dvd_get_logical_audio_stream_id. It will map the stream<=
br>
=A0ids to their logical track nos (the disc I am always having problems wit=
h<br>
=A0has a mix of AC3 and DTS tracks and the problem is that the AC3 tracks<b=
r>
=A0have a stream id range between 128 and 135 while DTS tracks start a 136;=
<br>
=A0so in my example, the second logical track has stream id 137 which used =
to<br>
=A0be put at the end of the track map by simple sorting).<br>
<br>
=A0I personally think that providing the dvd-specific comparator for the<br=
>
=A0sorting a simpler solution now as it keeps irrelevant dvd-specific stuff=
<br>
=A0out of StreamInfo and its operator which seems to be a more generic<br>
=A0structure. The sorting only happens in the DVD case anyway so having a D=
VD<br>
=A0specific comparator should not be a problem.<br>
<br>
=A0As a sidenote, I was also wondering of whether the helper functions I<br=
>
=A0added belong into avformatdecoder.cpp or DVDRingbuffer.h and it should b=
e<br>
=A0no problem to move them there.<br>
<br>
=A0Best wishes,<br>
<br>
=A0Martin.<br>
<font color=3D"#888888"><br>
--<br>
Ticket URL: <<a href=3D"http://svn.mythtv.org/trac/ticket/7638#comment:6=
" target=3D"_blank">http://svn.mythtv.org/trac/ticket/7638#comment:6</a>>=
;<br>
</font><div><div></div><div class=3D"h5">MythTV <<a href=3D"http://www.m=
ythtv.org/" target=3D"_blank">http://www.mythtv.org/</a>><br>
MythTV<br>
_______________________________________________<br>
mythtv-commits mailing list<br>
<a href=3D"mailto:mythtv-commits at mythtv.org">mythtv-commits at mythtv.org</a><=
br>
<a href=3D"http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-commits" targe=
t=3D"_blank">http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-commits</a><=
br>
</div></div></blockquote></div><br>
--000e0cdf75f8bff001047a6e2b5f--
More information about the mythtv-dev
mailing list