Added new WAV player API: pjmedia_wav_player_get_len()

git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@1680 74dad513-b988-da41-8d7b-12977e46ad98
diff --git a/pjmedia/include/pjmedia/wav_port.h b/pjmedia/include/pjmedia/wav_port.h
index e3279ba..889eea7 100644
--- a/pjmedia/include/pjmedia/wav_port.h
+++ b/pjmedia/include/pjmedia/wav_port.h
@@ -75,6 +75,17 @@
 
 
 /**
+ * Get the data length, in bytes.
+ *
+ * @param port		The file player port.
+ *
+ * @return		The length of the data, in bytes. Upon error it will
+ *			return negative value.
+ */
+PJ_DECL(pj_ssize_t) pjmedia_wav_player_get_len(pjmedia_port *port);
+
+
+/**
  * Set the file play position of WAV player.
  *
  * @param port		The file player port.
diff --git a/pjmedia/src/pjmedia/wav_player.c b/pjmedia/src/pjmedia/wav_player.c
index 225f1e5..78af891 100644
--- a/pjmedia/src/pjmedia/wav_player.c
+++ b/pjmedia/src/pjmedia/wav_player.c
@@ -400,6 +400,27 @@
 
 
 /*
+ * Get the data length, in bytes.
+ */
+PJ_DEF(pj_ssize_t) pjmedia_wav_player_get_len(pjmedia_port *port)
+{
+    struct file_port *fport;
+    pj_ssize_t size;
+
+    /* Sanity check */
+    PJ_ASSERT_RETURN(port, -PJ_EINVAL);
+
+    /* Check that this is really a player port */
+    PJ_ASSERT_RETURN(port->info.signature == SIGNATURE, -PJ_EINVALIDOP);
+
+    fport = (struct file_port*) port;
+
+    size = (pj_ssize_t) fport->fsize;
+    return size - fport->start_data;
+}
+
+
+/*
  * Set position.
  */
 PJ_DEF(pj_status_t) pjmedia_wav_player_port_set_pos(pjmedia_port *port,
@@ -408,10 +429,10 @@
     struct file_port *fport;
 
     /* Sanity check */
-    PJ_ASSERT_RETURN(port, -PJ_EINVAL);
+    PJ_ASSERT_RETURN(port, PJ_EINVAL);
 
     /* Check that this is really a player port */
-    PJ_ASSERT_RETURN(port->info.signature == SIGNATURE, -PJ_EINVALIDOP);
+    PJ_ASSERT_RETURN(port->info.signature == SIGNATURE, PJ_EINVALIDOP);
 
 
     fport = (struct file_port*) port;