'Scaletempo' and it "rate" property

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

'Scaletempo' and it "rate" property

victorvictor
Hello to all

Is there please a simple example oh how to use the 'scaletempo' element? I'm aware thata there is documentation at the 'bad-plugins' directory, but this is an example in four files and seems very complicated, when I just want to know how it works basically; the trick seems to be at the "rate" property that cannot be changed directly with 'g_object_set'

I have made a simple 'equivalent' of scaletempo by combining 1) the change of speed in 'g_seek_event' and 2) the pitch element that changes in a proportional opposite way; it works.

But I understand that the "overlap", "search" and "stride" are very interesting and allow to compensante for the 'loss of quality' due essentially to the slow down of the reading. My app implements those quite simply and the demo seems very confuse to me. Is there a simple 'skeleton' or basic demo about this?

Thank you

Victor

_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

RE: 'Scaletempo' and it "rate" property

victorvictor
Hello again

On the other hand, when I compile the demo and run it, I almost always get the error messages :

     GStreamer-CRITICAL **: gst_event_new_new_segment_full: assertion `start <= stop' failed

     GStreamer-CRITICAL **: gst_pad_push_event: assertion `event != NULL' failed

This doesn't happen if I disable Scaletempo (through the checkbox)...

Victor



From: [hidden email]
To: [hidden email]
Subject: 'Scaletempo' and it "rate" property
Date: Tue, 28 Jun 2011 18:44:32 +0200

Hello to all

Is there please a simple example oh how to use the 'scaletempo' element? I'm aware thata there is documentation at the 'bad-plugins' directory, but this is an example in four files and seems very complicated, when I just want to know how it works basically; the trick seems to be at the "rate" property that cannot be changed directly with 'g_object_set'

I have made a simple 'equivalent' of scaletempo by combining 1) the change of speed in 'g_seek_event' and 2) the pitch element that changes in a proportional opposite way; it works.

But I understand that the "overlap", "search" and "stride" are very interesting and allow to compensante for the 'loss of quality' due essentially to the slow down of the reading. My app implements those quite simply and the demo seems very confuse to me. Is there a simple 'skeleton' or basic demo about this?

Thank you

Victor

_______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

RE: 'Scaletempo' and its "rate" property

victorvictor
Well

I just had to use the "tempo" property of the 'pitch' element; there is no need to combine it with 'g_seek_event'; the "pitch" element can do it alone
By the way, the 'pitch' element seems to not be documented anywhere; I discovered the existence of its "tempo" property by looking at the code of another app using it (called PlayitSlowly)

However, this doesn't explain why 'scaletempo' provides such an error message (even in the demo app from Gstreamer doc)...

Victor


From: [hidden email]
To: [hidden email]
Subject: RE: 'Scaletempo' and it "rate" property
Date: Tue, 28 Jun 2011 23:21:13 +0200

Hello again

On the other hand, when I compile the demo and run it, I almost always get the error messages :

     GStreamer-CRITICAL **: gst_event_new_new_segment_full: assertion `start <= stop' failed

     GStreamer-CRITICAL **: gst_pad_push_event: assertion `event != NULL' failed

This doesn't happen if I disable Scaletempo (through the checkbox)...

Victor



From: [hidden email]
To: [hidden email]
Subject: 'Scaletempo' and it "rate" property
Date: Tue, 28 Jun 2011 18:44:32 +0200

Hello to all

Is there please a simple example oh how to use the 'scaletempo' element? I'm aware thata there is documentation at the 'bad-plugins' directory, but this is an example in four files and seems very complicated, when I just want to know how it works basically; the trick seems to be at the "rate" property that cannot be changed directly with 'g_object_set'

I have made a simple 'equivalent' of scaletempo by combining 1) the change of speed in 'g_seek_event' and 2) the pitch element that changes in a proportional opposite way; it works.

But I understand that the "overlap", "search" and "stride" are very interesting and allow to compensante for the 'loss of quality' due essentially to the slow down of the reading. My app implements those quite simply and the demo seems very confuse to me. Is there a simple 'skeleton' or basic demo about this?

Thank you

Victor

_______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

_______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: 'Scaletempo' and its "rate" property

Stefan Sauer
On 06/29/11 19:26, Victor henri wrote:
Well

I just had to use the "tempo" property of the 'pitch' element; there is no need to combine it with 'g_seek_event'; the "pitch" element can do it alone
By the way, the 'pitch' element seems to not be documented anywhere; I discovered the existence of its "tempo" property by looking at the code of another app using it (called PlayitSlowly)
gst-inspect does show the properties. There are indeed no docblobs for the both soundtouch elements. As you have figured the usage already, it would be great if you would send a patch adding the docblobs to the top of the *.cc files. I can help with the rest of the doc-integration.

Stefan


However, this doesn't explain why 'scaletempo' provides such an error message (even in the demo app from Gstreamer doc)...

Victor


From: [hidden email]
To: [hidden email]
Subject: RE: 'Scaletempo' and it "rate" property
Date: Tue, 28 Jun 2011 23:21:13 +0200

Hello again

On the other hand, when I compile the demo and run it, I almost always get the error messages :

     GStreamer-CRITICAL **: gst_event_new_new_segment_full: assertion `start <= stop' failed

     GStreamer-CRITICAL **: gst_pad_push_event: assertion `event != NULL' failed

This doesn't happen if I disable Scaletempo (through the checkbox)...

Victor



From: [hidden email]
To: [hidden email]
Subject: 'Scaletempo' and it "rate" property
Date: Tue, 28 Jun 2011 18:44:32 +0200

Hello to all

Is there please a simple example oh how to use the 'scaletempo' element? I'm aware thata there is documentation at the 'bad-plugins' directory, but this is an example in four files and seems very complicated, when I just want to know how it works basically; the trick seems to be at the "rate" property that cannot be changed directly with 'g_object_set'

I have made a simple 'equivalent' of scaletempo by combining 1) the change of speed in 'g_seek_event' and 2) the pitch element that changes in a proportional opposite way; it works.

But I understand that the "overlap", "search" and "stride" are very interesting and allow to compensante for the 'loss of quality' due essentially to the slow down of the reading. My app implements those quite simply and the demo seems very confuse to me. Is there a simple 'skeleton' or basic demo about this?

Thank you

Victor

_______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

_______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
_______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel


_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: 'Scaletempo' and it "rate" property

Stefan Sauer
In reply to this post by victorvictor
On 06/28/11 09:44, Victor henri wrote:
Hello to all

Is there please a simple example oh how to use the 'scaletempo' element? I'm aware thata there is documentation at the 'bad-plugins' directory, but this is an example in four files and seems very complicated, when I just want to know how it works basically; the trick seems to be at the "rate" property that cannot be changed directly with 'g_object_set'
Yes, it seems that you will need to send seek-event that change the rate. To bad that seek-events need a start-position (me wants seek with both positions being NONE to just change the rate).

Stefan

I have made a simple 'equivalent' of scaletempo by combining 1) the change of speed in 'g_seek_event' and 2) the pitch element that changes in a proportional opposite way; it works.

But I understand that the "overlap", "search" and "stride" are very interesting and allow to compensante for the 'loss of quality' due essentially to the slow down of the reading. My app implements those quite simply and the demo seems very confuse to me. Is there a simple 'skeleton' or basic demo about this?

Thank you

Victor
_______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel


_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

RE: 'Scaletempo' and it "rate" property

victorvictor

Is there please a simple example oh how to use the 'scaletempo' element? I'm aware thata there is documentation at the 'bad-plugins' directory, but this is an example in four files and seems very complicated, when I just want to know how it works basically; the trick seems to be at the "rate" property that cannot be changed directly with 'g_object_set'
Yes, it seems that you will need to send seek-event that change the rate. To bad that seek-events need a start-position (me wants seek with both positions being NONE to just change the rate).

Stefan

Yes I did figured out that and I did it; I still get the same error messages :

gst_event_new_new_segment_full: assertion `start <= stop' failed

(cplayer:3266): GStreamer-CRITICAL **: gst_pad_push_event: assertion `event != NULL' failed

Then there is a 2 or 3 seconds period of silence, then playing starts again with the new rate at the same height (wich means that scaletempo works)

In summary, it works, but with a 2-3 seconds delay everytime a rate changed is made...

Victor
_______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel


_______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel