Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: MythTV: Dev

Audio Sync (Lipsync)

 

 

MythTV dev RSS feed   Index | Next | Previous | View Threaded


com at andreas-fey

May 26, 2009, 4:31 AM

Post #1 of 6 (2118 views)
Permalink
Audio Sync (Lipsync)

Hi Folks,

a few weeks ago I bought a new LCD TV and noticed that the audio signal
is a few milliseconds (200) ahead the picture - which seems to be a
usual problem with LCD devices. Even more users noticed that problem and
put it to the wishlist of mythtv. Usual DVD and BluRay Players have a
feature to set up an audio offset value, AKA lipsync feature, so I
thoughtit would be a good idea to integrate it into mythtv, too.

Thanks to Marc Randolph, I re-started programming C++ and added a, IMHO,
nice feature which enables the user to set up a audio sync offset in the
general settings of mythfrontend (separate for each host). This offset
is added initially to the audio offset already used transiently during
playback.

Because this is my first try contributing to mythtv (and getting in
touch with C++ after years), I just wanted to ask which way would be
best to let others test these changes (as you might know, I don't have
write access to SVN ;-)

I attached a patch to this email. I am really looking forward to hear
from you guys!

Regards,

Andreas
Attachments: lipsync_patch.txt (4.50 KB)


g8ecj at gilks

May 26, 2009, 5:46 AM

Post #2 of 6 (2004 views)
Permalink
Re: Audio Sync (Lipsync) [In reply to]

> Hi Folks,
>
> a few weeks ago I bought a new LCD TV and noticed that the audio signal
> is a few milliseconds (200) ahead the picture - which seems to be a
> usual problem with LCD devices. Even more users noticed that problem and
> put it to the wishlist of mythtv. Usual DVD and BluRay Players have a
> feature to set up an audio offset value, AKA lipsync feature, so I
> thoughtit would be a good idea to integrate it into mythtv, too.
>
> Thanks to Marc Randolph, I re-started programming C++ and added a, IMHO,
> nice feature which enables the user to set up a audio sync offset in the
> general settings of mythfrontend (separate for each host). This offset
> is added initially to the audio offset already used transiently during
> playback.
>
> Because this is my first try contributing to mythtv (and getting in
> touch with C++ after years), I just wanted to ask which way would be
> best to let others test these changes (as you might know, I don't have
> write access to SVN ;-)
>
> I attached a patch to this email. I am really looking forward to hear
> from you guys!

A feature that allowed audio sync to be set for each video source would be
good - stuff I capture from my STB via a PVR-150 is always about 110mS out
but the DVB-S input is spot on. This means that as I move from one show to
another then if it was recorded from the STB I have to jab at the remote
for ages to get things correct.


--
Robin Gilks



_______________________________________________
mythtv-dev mailing list
mythtv-dev [at] mythtv
http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev


com at andreas-fey

May 26, 2009, 6:38 AM

Post #3 of 6 (2008 views)
Permalink
Re: Audio Sync (Lipsync) [In reply to]

Hi,

I added this issue to TRAC: http://svn.mythtv.org/trac/ticket/6581


> Hi Folks,
>
> a few weeks ago I bought a new LCD TV and noticed that the audio signal
> is a few milliseconds (200) ahead the picture - which seems to be a
> usual problem with LCD devices. Even more users noticed that problem and
> put it to the wishlist of mythtv. Usual DVD and BluRay Players have a
> feature to set up an audio offset value, AKA lipsync feature, so I
> thoughtit would be a good idea to integrate it into mythtv, too.
>
> Thanks to Marc Randolph, I re-started programming C++ and added a, IMHO,
> nice feature which enables the user to set up a audio sync offset in the
> general settings of mythfrontend (separate for each host). This offset
> is added initially to the audio offset already used transiently during
> playback.
>
> Because this is my first try contributing to mythtv (and getting in
> touch with C++ after years), I just wanted to ask which way would be
> best to let others test these changes (as you might know, I don't have
> write access to SVN ;-)
>
> I attached a patch to this email. I am really looking forward to hear
> from you guys!
>
> Regards,
>
> Andreas
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> mythtv-dev mailing list
> mythtv-dev [at] mythtv
> http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev

_______________________________________________
mythtv-dev mailing list
mythtv-dev [at] mythtv
http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev


com at andreas-fey

Jun 2, 2009, 1:16 AM

Post #4 of 6 (1902 views)
Permalink
Re: Audio Sync (Lipsync) [In reply to]

Hey folks,

what is the usual way patches are tested and possibly merged into the
trunk? I don't want to be impatient; I just wanted to know which
timeline or procedure I can expect for my patch.

Another question: Because I am running a mythtv version from the Ubuntu
packages on my productive system, is it possible to check out the equal
mythtv version vom SVN, apply the patch, compile the libs and swap the
original libs (from apt) with the new ones (from compilation)? How can I
get aware of the libs which are affected by my changes?

Thanks a lot and have a nice week,

Andreas

Andreas Fey schrieb:
> Hi,
>
> I added this issue to TRAC: http://svn.mythtv.org/trac/ticket/6581
>
>
>> Hi Folks,
>>
>> a few weeks ago I bought a new LCD TV and noticed that the audio
>> signal is a few milliseconds (200) ahead the picture - which seems to
>> be a usual problem with LCD devices. Even more users noticed that
>> problem and put it to the wishlist of mythtv. Usual DVD and BluRay
>> Players have a feature to set up an audio offset value, AKA lipsync
>> feature, so I thoughtit would be a good idea to integrate it into
>> mythtv, too.
>>
>> Thanks to Marc Randolph, I re-started programming C++ and added a,
>> IMHO, nice feature which enables the user to set up a audio sync
>> offset in the general settings of mythfrontend (separate for each
>> host). This offset is added initially to the audio offset already used
>> transiently during playback.
>>
>> Because this is my first try contributing to mythtv (and getting in
>> touch with C++ after years), I just wanted to ask which way would be
>> best to let others test these changes (as you might know, I don't have
>> write access to SVN ;-)
>>
>> I attached a patch to this email. I am really looking forward to hear
>> from you guys!
>>
>> Regards,
>>
>> Andreas
>>
>>
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> mythtv-dev mailing list
>> mythtv-dev [at] mythtv
>> http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev
>
> _______________________________________________
> mythtv-dev mailing list
> mythtv-dev [at] mythtv
> http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev

_______________________________________________
mythtv-dev mailing list
mythtv-dev [at] mythtv
http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev


lists at manor-farm

Jun 2, 2009, 7:38 AM

Post #5 of 6 (1901 views)
Permalink
Re: Audio Sync (Lipsync) [In reply to]

>
> Another question: Because I am running a mythtv version from the Ubuntu
> packages on my productive system, is it possible to check out the equal
> mythtv version vom SVN, apply the patch, compile the libs and swap the
> original libs (from apt) with the new ones (from compilation)? How can I
> get aware of the libs which are affected by my changes?
>
Here's one way to do it. Get the ubuntu package source:

sudo apt-get source mythtv

Install git:

sudo apt-get git-core

Import the ubuntu source into a git repository (note you can also pull
into a git repo directly from svn repo if you wanted to).

cd /ubuntu-myth-source

Create an empty repo:
git init

Add the source files and commit them:
git add *
git commit -a -m "Imported source."

Create a local branch to make your changes:

git checkout mybranch origin/master

Make your changes to file foo.cpp

git add foo.cpp
git commit -m "My local changes."

Build the ubuntu debs (sorry can't remember the exact command for this)
and install them.

When the upstream source code changes:

git pull

Now when git fetches upstream changes to the source your local commits
will be rewound and replayed on top of origin/master, which is the
definitive upstream version of the code.

Carry on working on your local branch and rebuild the debs.

If the git pull merge fails with a conflict:

1. Edit the code to fix the problem
2. git add the file to mark the conflict resolved.
3. git rebase --continue
4. repeat 2 and 4 if required until the merge completes.

This allows you to play with your own changes and keep up to date with
the upstream source. When you are happy with your changes, you can
create a patch and submit it back.

Ian.
_______________________________________________
mythtv-dev mailing list
mythtv-dev [at] mythtv
http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev


com at andreas-fey

Jun 15, 2009, 11:32 PM

Post #6 of 6 (1723 views)
Permalink
Re: Audio Sync (Lipsync) [In reply to]

Ian Barton schrieb:
>>
>> Another question: Because I am running a mythtv version from the
>> Ubuntu packages on my productive system, is it possible to check out
>> the equal mythtv version vom SVN, apply the patch, compile the libs
>> and swap the original libs (from apt) with the new ones (from
>> compilation)? How can I get aware of the libs which are affected by my
>> changes?
>>
> Here's one way to do it. Get the ubuntu package source:
>
> sudo apt-get source mythtv
>
> Install git:
>
> sudo apt-get git-core
>
> Import the ubuntu source into a git repository (note you can also pull
> into a git repo directly from svn repo if you wanted to).
>
> cd /ubuntu-myth-source
>
> Create an empty repo:
> git init
>
> Add the source files and commit them:
> git add *
> git commit -a -m "Imported source."
>
> Create a local branch to make your changes:
>
> git checkout mybranch origin/master
>
> Make your changes to file foo.cpp
>
> git add foo.cpp
> git commit -m "My local changes."
>
> Build the ubuntu debs (sorry can't remember the exact command for this)
> and install them.
>
> When the upstream source code changes:
>
> git pull
>
> Now when git fetches upstream changes to the source your local commits
> will be rewound and replayed on top of origin/master, which is the
> definitive upstream version of the code.
>
> Carry on working on your local branch and rebuild the debs.
>
> If the git pull merge fails with a conflict:
>
> 1. Edit the code to fix the problem
> 2. git add the file to mark the conflict resolved.
> 3. git rebase --continue
> 4. repeat 2 and 4 if required until the merge completes.
>
> This allows you to play with your own changes and keep up to date with
> the upstream source. When you are happy with your changes, you can
> create a patch and submit it back.
>
> Ian.

Thanks Ian,

I tried that way with SVN; checked out the revision number which is used
by the Ubuntu packages, applied my patch, compiled and swapped the
libmyth**.so file from Ubuntu with the newly compiled one; at a first
glance, everything worked really nice, but mythtv had many crashes
during navigation in the recordings menu. Thus, I think I missed some
patches or changes in the source codem, which are applied to the sources
which Ubuntu uses. Has anybody a hint how to get things working?

Best,

Andreas
_______________________________________________
mythtv-dev mailing list
mythtv-dev [at] mythtv
http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev

MythTV dev RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact Gossamer Threads
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.