Unable to seek audio files with playbin2; manual seek also broken in plugins-good-0.10.31

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

Re: Unable to seek audio files with playbin2; manual seek also broken in plugins-good-0.10.31

Eric Montellese

Ugh.  So it works for the aac file, but not for the mp3 file.  I'm trying out various modifications on the same scheme but no luck yet... Any ideas?

Thanks,
Eric

On Jun 21, 2012 4:50 PM, "Eric Montellese" <[hidden email]> wrote:
IT WORKS!

Thank you muchly.  I owe you a beer or three.

Eric



On Thu, Jun 21, 2012 at 4:40 PM, Eric Montellese <[hidden email]> wrote:
Ah yes, I see now.  Thank you.

Unfortunately that element does not have this implemented; but other elements do, so I will follow their example.

Thanks,
Eric



On Thu, Jun 21, 2012 at 4:35 PM, Tim-Philipp Müller <[hidden email]> wrote:
On Thu, 2012-06-21 at 16:26 -0400, Eric Montellese wrote:

> I'm new to this piece of gstreamer -- to confirm, the below is what I
> did.  Is this what you intended?
> //in the _setcaps() function. (snip)

Ah, no. Grep for GST_STATIC_PAD_TEMPLATE, which your code likely has.
It's where you set the caps that show up as pad template caps in
gst-inspect.

Cheers
 -Tim

_______________________________________________
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: Unable to seek audio files with playbin2; manual seek also broken in plugins-good-0.10.31

Tim-Philipp Müller-2
On Fri, 2012-06-22 at 13:55 -0400, Eric Montellese wrote:

> Ugh.  So it works for the aac file, but not for the mp3 file.  I'm
> trying out various modifications on the same scheme but no luck yet...
> Any ideas?

Not without more details. Now that you know that the template caps are
important, it would be helpful to know what they are exactly
(gst-inspect output) and the different things that you tried..

Cheers
 -Tim

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

Re: Unable to seek audio files with playbin2; manual seek also broken in plugins-good-0.10.31

Eric Montellese
Sounds good.  I'll dig into it a bit and get back to you with a more precise understanding

eric



On Fri, Jun 22, 2012 at 2:04 PM, Tim-Philipp Müller <[hidden email]> wrote:
On Fri, 2012-06-22 at 13:55 -0400, Eric Montellese wrote:

> Ugh.  So it works for the aac file, but not for the mp3 file.  I'm
> trying out various modifications on the same scheme but no luck yet...
> Any ideas?

Not without more details. Now that you know that the template caps are
important, it would be helpful to know what they are exactly
(gst-inspect output) and the different things that you tried..

Cheers
 -Tim

_______________________________________________
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: Unable to seek audio files with playbin2; manual seek also broken in plugins-good-0.10.31

Eric Montellese
Tim, 

No luck so far.  Here are the details of where I'm at:

** For an AAC file, setting framed=true makes playbin2 autoplug the aacparse element.  (yay!)

** However, the parse element is not autoplugged for mp3 (normal mpeg 1, layer 3) no matter how I set the caps.  (at least anything I've tried).

** My custom decodersink has these caps:
      audio/mpeg
            mpegversion: { 2, 4 }
                 framed: true
      audio/mpeg
            mpegversion: 1
                  layer: 3
                 parsed: true
This is actually more restrictive than it was originally, but in trying to remove variables, this is what it is set to.  With the caps set this way, the audio does play, but doesn't seek (the parser is not added to the pipeline).

** When I look at the dot-output png pipeline image (linked below), I do not see "parsed=true" appearing on the connections between elements for the mp3 pipeline.

** With the AAC pipeline, I do see framed=true printed on the connections between elements.  Does this indicate that the framed=true capability is being honored but not the parsed=true capability?

** The aacparse element has this src pad:
  SRC template: 'src'
    Availability: Always
    Capabilities:
      audio/mpeg
                 framed: true
            mpegversion: { 2, 4 }
          stream-format: { raw, adts, adif }

** The mpegaudioparse element has this src pad:
  SRC template: 'src'
    Availability: Always
    Capabilities:
      audio/mpeg
            mpegversion: 1
                  layer: [ 1, 3 ]
                   rate: [ 8000, 48000 ]
               channels: [ 1, 2 ]
                 parsed: true

So, everything appears to be analogous; however, it seems that the capabilities are not having an effect on the playbin2 autoplugging in the mp3 case.  Any ideas on what direction to head?  So far, my biggest curiosity is why the mp3 pipeline does not show the parsed=true capability.  Is that a good direction to head, or is there a simple unrelated explanation?

I'm uploading both pipelines here as the "seektest" png files, so that you can see what I'm referring to:


Thanks!
Eric


On Fri, Jun 22, 2012 at 3:41 PM, Eric Montellese <[hidden email]> wrote:
Sounds good.  I'll dig into it a bit and get back to you with a more precise understanding

eric



On Fri, Jun 22, 2012 at 2:04 PM, Tim-Philipp Müller <[hidden email]> wrote:
On Fri, 2012-06-22 at 13:55 -0400, Eric Montellese wrote:

> Ugh.  So it works for the aac file, but not for the mp3 file.  I'm
> trying out various modifications on the same scheme but no luck yet...
> Any ideas?

Not without more details. Now that you know that the template caps are
important, it would be helpful to know what they are exactly
(gst-inspect output) and the different things that you tried..

Cheers
 -Tim

_______________________________________________
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: Unable to seek audio files with playbin2; manual seek also broken in plugins-good-0.10.31

Eric Montellese
Solved.

Please ignore my last post -- the problem was that in the seek application there was an extra bin being wrapped around the custom decodersink which was screwing up the auto-plugging for playbin2.

This also explains the surprising behavior that I mentioned previously where the gst-launch playbin was different than the gst_parse_launch.  The gst_parse_launch had nothing to do with it -- it was the rogue wrapper bin.

Tim, thanks again for all of your help on this.

Eric



On Tue, Jun 26, 2012 at 1:26 PM, Eric Montellese <[hidden email]> wrote:
Tim, 

No luck so far.  Here are the details of where I'm at:

** For an AAC file, setting framed=true makes playbin2 autoplug the aacparse element.  (yay!)

** However, the parse element is not autoplugged for mp3 (normal mpeg 1, layer 3) no matter how I set the caps.  (at least anything I've tried).

** My custom decodersink has these caps:
      audio/mpeg
            mpegversion: { 2, 4 }
                 framed: true
      audio/mpeg
            mpegversion: 1
                  layer: 3
                 parsed: true
This is actually more restrictive than it was originally, but in trying to remove variables, this is what it is set to.  With the caps set this way, the audio does play, but doesn't seek (the parser is not added to the pipeline).

** When I look at the dot-output png pipeline image (linked below), I do not see "parsed=true" appearing on the connections between elements for the mp3 pipeline.

** With the AAC pipeline, I do see framed=true printed on the connections between elements.  Does this indicate that the framed=true capability is being honored but not the parsed=true capability?

** The aacparse element has this src pad:
  SRC template: 'src'
    Availability: Always
    Capabilities:
      audio/mpeg
                 framed: true
            mpegversion: { 2, 4 }
          stream-format: { raw, adts, adif }

** The mpegaudioparse element has this src pad:
  SRC template: 'src'
    Availability: Always
    Capabilities:
      audio/mpeg
            mpegversion: 1
                  layer: [ 1, 3 ]
                   rate: [ 8000, 48000 ]
               channels: [ 1, 2 ]
                 parsed: true

So, everything appears to be analogous; however, it seems that the capabilities are not having an effect on the playbin2 autoplugging in the mp3 case.  Any ideas on what direction to head?  So far, my biggest curiosity is why the mp3 pipeline does not show the parsed=true capability.  Is that a good direction to head, or is there a simple unrelated explanation?

I'm uploading both pipelines here as the "seektest" png files, so that you can see what I'm referring to:


Thanks!
Eric


On Fri, Jun 22, 2012 at 3:41 PM, Eric Montellese <[hidden email]> wrote:
Sounds good.  I'll dig into it a bit and get back to you with a more precise understanding

eric



On Fri, Jun 22, 2012 at 2:04 PM, Tim-Philipp Müller <[hidden email]> wrote:
On Fri, 2012-06-22 at 13:55 -0400, Eric Montellese wrote:

> Ugh.  So it works for the aac file, but not for the mp3 file.  I'm
> trying out various modifications on the same scheme but no luck yet...
> Any ideas?

Not without more details. Now that you know that the template caps are
important, it would be helpful to know what they are exactly
(gst-inspect output) and the different things that you tried..

Cheers
 -Tim

_______________________________________________
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
12