GStreamerMediaDescription.cpp [plain text]
#include "config.h"
#include "GStreamerMediaDescription.h"
#include "GUniquePtrGStreamer.h"
#include <gst/pbutils/pbutils.h>
#include <wtf/text/AtomicString.h>
#include <wtf/text/WTFString.h>
#if ENABLE(VIDEO) && USE(GSTREAMER) && ENABLE(MEDIA_SOURCE)
namespace WebCore {
AtomicString GStreamerMediaDescription::codec() const
{
GUniquePtr<gchar> description(gst_pb_utils_get_codec_description(m_caps.get()));
String codecName(description.get());
if (codecName.startsWith("H.264")) {
size_t braceStart = codecName.find(" (");
size_t braceEnd = codecName.find(")");
if (braceStart != notFound && braceEnd != notFound)
codecName.remove(braceStart, braceEnd-braceStart);
}
return codecName;
}
bool GStreamerMediaDescription::isVideo() const
{
GstStructure* structure = gst_caps_get_structure(m_caps.get(), 0);
const gchar* name = gst_structure_get_name(structure);
return g_str_has_prefix(name, "video/");
}
bool GStreamerMediaDescription::isAudio() const
{
GstStructure* structure = gst_caps_get_structure(m_caps.get(), 0);
const gchar* name = gst_structure_get_name(structure);
return g_str_has_prefix(name, "audio/");
}
bool GStreamerMediaDescription::isText() const
{
return false;
}
}
#endif // USE(GSTREAMER)