#ifndef MYGST_HPP
#define MYGST_HPP

#include "player.hpp"

// glib uses prefix, so we need this fine hack
#undef prefix

#include <gst/gst.h>

class Gst : public Player
{
public:
  int is_playing();
  int is_buffering();
  int is_mute();
  void gather_info();
  void addfile(const Simplefile &file);
  void play();
  void stop_player();
  void pause();
  void ff();
  void fb();

  int getpos();
  void setpos(int p);

  void mute();
  void volup();
  void voldown();
  int getvol();
  void setvol(int vol);

  void update_cdrom(const std::string& cdrom);

  void collect_info(const std::string& filename);

  Gst();
  ~Gst();

private:
  void check_bus();
  int check_bus_interval();

  void setfile(const Simplefile& file);

  GstElement *player,*audiosink;
};

#endif
