On Thu, Jan 10, 2013 at 06:40:13AM -0500, Benjamin Deering wrote: > This patch fixes the squealing at the start of certain podcasts (I think > it was trying to play the id3v* tag). I sent it to the podboy author, > but I never heard back when I sent the last patch.
I've enough confidence in you, so I've added this patch to shr branch without testing it in runtime. Thanks! Cheers, > > Ben > Index: podboy/libplayer.py > =================================================================== > --- podboy/libplayer.py (revision 221) > +++ podboy/libplayer.py (working copy) > @@ -58,7 +58,8 @@ > > # MP3 > self.decoders.append(gst.element_factory_make("mad", "decode-mp3")) > - self.demuxers.append(None) > + self.demuxers.append(gst.element_factory_make("id3demux", > "demux-id3")) > + self.demuxers[MediaTypes.MP3].connect("pad-added", > self.mp3_pad_added_cb) > > # OGG > self.decoders.append(gst.element_factory_make("vorbisdec", > "decode-ogg")) > @@ -103,12 +104,13 @@ > if self.media_type == MediaTypes.OGG: > self.pipeline.remove(self.decoders[MediaTypes.OGG], > self.demuxers[MediaTypes.OGG]) > elif self.media_type == MediaTypes.MP3: > - self.pipeline.remove(self.decoders[MediaTypes.MP3]) > + self.pipeline.remove(self.decoders[MediaTypes.MP3], > self.demuxers[MediaTypes.MP3]) > > # Next, build the correct pipeline > if media_type == MediaTypes.MP3: > - self.pipeline.add(self.source, self.decoders[MediaTypes.MP3], > *self.elements[output_type]) > - gst.element_link_many(self.source, > self.decoders[MediaTypes.MP3], *self.elements[output_type]) > + self.pipeline.add(self.source, self.demuxers[MediaTypes.MP3], > self.decoders[MediaTypes.MP3], *self.elements[output_type]) > + gst.element_link_many(self.source, self.demuxers[MediaTypes.MP3]) > + gst.element_link_many(self.decoders[MediaTypes.MP3], > *self.elements[output_type]) > elif media_type == MediaTypes.OGG: > self.pipeline.add( > self.source, self.demuxers[MediaTypes.OGG], > self.decoders[MediaTypes.OGG], *self.elements[output_type]) > @@ -123,6 +125,11 @@ > if adec_pad and not adec_pad.is_linked(): > pad.link(adec_pad) > > + def mp3_pad_added_cb(self, demuxer, pad): > > + adec_pad = self.decoders[MediaTypes.MP3].get_pad("sink") > > + if adec_pad and not adec_pad.is_linked(): > > + pad.link(adec_pad) > > + > def get_bus(self): > """ > Returns the GStreamer bus attached to the player. > _______________________________________________ > Shr-devel mailing list > Shr-devel@lists.shr-project.org > http://lists.shr-project.org/mailman/listinfo/shr-devel -- Martin 'JaMa' Jansa jabber: martin.ja...@gmail.com
signature.asc
Description: Digital signature
_______________________________________________ Shr-devel mailing list Shr-devel@lists.shr-project.org http://lists.shr-project.org/mailman/listinfo/shr-devel