RESULT getName(const eServiceReference &ref, std::string &name);
int getLength(const eServiceReference &ref);
int getInfo(const eServiceReference &ref, int w);
RESULT getName(const eServiceReference &ref, std::string &name);
int getLength(const eServiceReference &ref);
int getInfo(const eServiceReference &ref, int w);
+ int isPlayable(const eServiceReference &ref, const eServiceReference &ignore, bool simulate) { return 1; }
+ RESULT getEvent(const eServiceReference &ref, ePtr<eServiceEvent> &ptr, time_t start_time);
RESULT keys(ePtr<iServiceKeys> &ptr) { ptr = 0; return -1; }
RESULT stream(ePtr<iStreamableService> &ptr) { ptr = 0; return -1; }
RESULT keys(ePtr<iServiceKeys> &ptr) { ptr = 0; return -1; }
RESULT stream(ePtr<iStreamableService> &ptr) { ptr = 0; return -1; }
stIdle, stRunning, stStopped,
};
int m_state;
stIdle, stRunning, stStopped,
};
int m_state;
void gstBusCall(GstBus *bus, GstMessage *msg);
static GstBusSyncReply gstBusSyncHandler(GstBus *bus, GstMessage *message, gpointer user_data);
static void gstTextpadHasCAPS(GstPad *pad, GParamSpec * unused, gpointer user_data);
void gstTextpadHasCAPS_synced(GstPad *pad);
void gstBusCall(GstBus *bus, GstMessage *msg);
static GstBusSyncReply gstBusSyncHandler(GstBus *bus, GstMessage *message, gpointer user_data);
static void gstTextpadHasCAPS(GstPad *pad, GParamSpec * unused, gpointer user_data);
void gstTextpadHasCAPS_synced(GstPad *pad);
GstPad* gstCreateSubtitleSink(eServiceMP3* _this, subtype_t type);
void gstPoll(const Message&);
static void gstHTTPSourceSetAgent(GObject *source, GParamSpec *unused, gpointer user_data);
GstPad* gstCreateSubtitleSink(eServiceMP3* _this, subtype_t type);
void gstPoll(const Message&);
static void gstHTTPSourceSetAgent(GObject *source, GParamSpec *unused, gpointer user_data);