~ubuntu-branches/ubuntu/jaunty/muine/jaunty-proposed

« back to all changes in this revision

Viewing changes to libmuine/player-xine.c

  • Committer: Bazaar Package Importer
  • Author(s): Sebastian Dröge
  • Date: 2005-11-08 00:40:42 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20051108004042-l6x5vw65u3f2l1dc
Tags: 0.8.3-7ubuntu2
Rebuild against new libdbus-1-cil

Show diffs side-by-side

added added

removed removed

Lines of Context:
23
23
#include <math.h>
24
24
#include <xine.h>
25
25
#include <libgnomevfs/gnome-vfs-utils.h>
26
 
#include <libgnome/gnome-i18n.h>
 
26
#include <glib/gi18n.h>
27
27
 
28
28
#include "player.h"
29
29
 
61
61
 
62
62
  GTimer *timer;
63
63
  long timer_add;
 
64
  gboolean had_eos;
64
65
 
65
66
  guint tick_timeout_id;
66
67
  GAsyncQueue *queue;
207
208
  switch (data->signal)
208
209
    {
209
210
    case END_OF_STREAM:
 
211
      priv->timer_add += floor (g_timer_elapsed (priv->timer, NULL) + 0.5);
 
212
      g_timer_stop (priv->timer);
 
213
      g_timer_reset (priv->timer);
 
214
 
 
215
      priv->had_eos = TRUE;
 
216
 
210
217
      g_signal_emit (player, signals[END_OF_STREAM], 0);
211
218
      break;
212
219
    }
327
334
 
328
335
  priv->timer = g_timer_new ();
329
336
  g_timer_stop (priv->timer);
330
 
  g_timer_reset (priv->timer);
331
337
  priv->timer_add = 0;
332
338
 
333
339
  xine_config_save (priv->xine, configfile);
402
408
      g_free (unesc);
403
409
      return FALSE;
404
410
    }
405
 
  else
406
 
    {
407
 
      g_timer_stop (priv->timer);
408
 
      g_timer_reset (priv->timer);
409
 
      priv->timer_add = 0;
410
 
    }
411
 
  
 
411
 
 
412
  g_timer_stop (priv->timer);
 
413
  g_timer_reset (priv->timer);
 
414
  priv->timer_add = 0;
 
415
 
412
416
  g_free (priv->current_file);
413
417
  priv->current_file = g_strdup (uri);
 
418
 
414
419
  return TRUE;
415
420
}
416
421
 
434
439
                 char      **error)
435
440
{
436
441
  PlayerPriv *priv;
437
 
  gboolean start;
438
442
  char *escaped;
439
443
 
440
444
  g_return_val_if_fail (IS_PLAYER (player), FALSE);
441
445
 
442
446
  priv = player->priv;
443
447
 
444
 
  start = player_playing (player);
445
 
 
446
448
  *error = NULL;
447
449
 
448
450
  escaped = gnome_vfs_escape_path_string (file);
454
456
 
455
457
  g_free (escaped);
456
458
 
457
 
  if (start)
458
 
    player_play (player);
459
 
  
460
459
  return TRUE;
461
460
}
462
461
 
479
478
  else
480
479
    xine_play (priv->stream, 0, 0);
481
480
 
 
481
  if (priv->had_eos)
 
482
    {
 
483
      priv->timer_add = 0;
 
484
      priv->had_eos = FALSE;
 
485
    }
 
486
 
482
487
  g_timer_start (priv->timer);
483
488
}
484
489
 
492
497
  g_free (priv->current_file);
493
498
  priv->current_file = NULL;
494
499
 
 
500
  g_timer_stop (priv->timer);
 
501
  g_timer_reset (priv->timer);
 
502
  priv->timer_add = 0;
 
503
 
495
504
  if (priv->stream != NULL)
496
505
    {
497
506
      xine_stop (priv->stream);
594
603
  
595
604
  if (priv->stream != NULL)
596
605
    {
 
606
      if (priv->had_eos)
 
607
        {
 
608
          priv->timer_add = 0;
 
609
          priv->had_eos = FALSE;
 
610
        }
 
611
 
597
612
      xine_play (priv->stream, 0, t * 1000);
598
613
      
599
614
      g_timer_reset (priv->timer);