All pastes #363745 Raw Edit

Anonymous

public text v1 · immutable
#363745 ·published 2007-02-19 17:23 UTC
rendered paste body
The patch:

? .gst-plugins-base.spec.swp
? gdp.patch
? ogg.patch
? oggparse.patch
? patch
? docs/plugins/gst-plugins-base-plugins.args.new
? docs/plugins/gst-plugins-base-plugins.hierarchy.new
? docs/plugins/gst-plugins-base-plugins.interfaces.new
? docs/plugins/gst-plugins-base-plugins.prerequisites.new
? docs/plugins/gst-plugins-base-plugins.signals.new
? ext/ogg/oggdemux.patch
? gst/tcp/2.patch
? gst/tcp/NOTES
? gst/tcp/mfd.old.patch
? gst/tcp/mfd.patch
? gst/tcp/now.patch
? gst/tcp/out
? gst-libs/gst/rtp/.gstbasertpaudiopayload.c.swp
? tests/check/out
? tests/check/elements/revert.patch
? tests/check/elements/videorate.c.release
Index: ext/ogg/gstoggmux.c
===================================================================
RCS file: /cvs/gstreamer/gst-plugins-base/ext/ogg/gstoggmux.c,v
retrieving revision 1.83
diff -r1.83 gstoggmux.c
1469a1470,1498
> /** all_pads_eos:
>  *
>  * Checks if all pads are EOS'd by peeking.
>  *
>  * Returns TRUE if all pads are EOS.
>  */
> static gboolean
> all_pads_eos (GstCollectPads * pads)
> {
>   GSList * walk;
>   gboolean alleos = TRUE;
> 
>   walk = pads->data;
>   while (walk) {
>     GstBuffer * buf;
>     GstCollectData * data = (GstCollectData *) walk->data;
> 
>     buf = gst_collect_pads_peek (pads, data);
>     if (buf) {
>       alleos = FALSE;
>       gst_buffer_unref (buf);
>       goto beach;
>     }
>     walk = walk->next;
>   }
>  beach:
>   return alleos;
> }
> 
1484a1514
>   gint activebefore;
1487a1518,1519
>   activebefore = ogg_mux->active_pads;
> 
1501,1512c1533,1552
<   /* if all the pads have been removed, flush all pending data */
<   if ((ret == GST_FLOW_OK) && (ogg_mux->active_pads == 0)) {
<     GST_LOG_OBJECT (ogg_mux, "no pads remaining, flushing data");
< 
<     do {
<       best = gst_ogg_mux_queue_pads (ogg_mux);
<       if (best)
<         ret = gst_ogg_mux_process_best_pad (ogg_mux, best);
<     } while ((ret == GST_FLOW_OK) && (best != NULL));
< 
<     GST_DEBUG_OBJECT (ogg_mux, "Pushing EOS");
<     gst_pad_push_event (ogg_mux->srcpad, gst_event_new_eos ());
---
>   if (ogg_mux->active_pads < activebefore) {
>     /* If the active pad count went down, this mean at least one pad has gone
>      * EOS. Since CollectPads only calls _collected() once when all pads are
>      * EOS, and our code doesn't _pop() from all pads we need to check that by
>      * peeking on all pads, else we won't be called again and the muxing will
>      * not terminate (push out EOS). */
>     
>     /* if all the pads have been removed, flush all pending data */
>     if ((ret == GST_FLOW_OK) && all_pads_eos(pads)) {
>       GST_LOG_OBJECT (ogg_mux, "no pads remaining, flushing data");
>       
>       do {
> 	best = gst_ogg_mux_queue_pads (ogg_mux);
> 	if (best)
> 	  ret = gst_ogg_mux_process_best_pad (ogg_mux, best);
>       } while ((ret == GST_FLOW_OK) && (best != NULL));
>       
>       GST_DEBUG_OBJECT (ogg_mux, "Pushing EOS");
>       gst_pad_push_event (ogg_mux->srcpad, gst_event_new_eos ());
>     }





The error trace:

gstoggmux.lo -MD -MP -MF .deps/libgstogg_la-gstoggmux.Tpo -c gstoggmux.c  -fPIC -DPIC -o .libs/libgstogg_la-gstoggmux.o
gstoggmux.c: In function 'gst_ogg_mux_process_best_pad':
gstoggmux.c:1478: error: invalid storage class for function 'all_pads_eos'
gstoggmux.c: In function 'gst_ogg_mux_collected':
gstoggmux.c:1557: error: 'activebefore' undeclared (first use in this function)
gstoggmux.c:1557: error: (Each undeclared identifier is reported only once
gstoggmux.c:1557: error: for each function it appears in.)
gstoggmux.c:1565: warning: implicit declaration of function 'all_pads_eos'
make: *** [libgstogg_la-gstoggmux.lo] Error 1